使用 Python 来自 Ubuntu bash 的 pymssql

Use Python pymssql from Ubuntu bash

我已经在 Windows 10

上安装了 Ubuntu bash

我可以从那里访问 python3,一切正常

我目前面临的问题是通过 Python pymssql 连接到 MS SQL 服务器。

我可以完美地从我的 Spyder 连接,但是当我在 Ubuntu bash 中使用相同的脚本时,我得到这个错误

>>> conn = pymssql.connect(server="MyServer", database="MyDB")
Traceback (most recent call last):
  File "src/pymssql.pyx", line 636, in pymssql.connect
  File "src/_mssql.pyx", line 1957, in _mssql.connect
  File "src/_mssql.pyx", line 676, in _mssql.MSSQLConnection.__init__
  File "src/_mssql.pyx", line 1683, in _mssql.maybe_raise_MSSQLDatabaseException
_mssql.MSSQLDatabaseException: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (MyServer:1433)\n')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "src/pymssql.pyx", line 642, in pymssql.connect
pymssql.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (MyServer:1433)\n')

有人知道如何解决这个问题吗?

看来 Unix 库有问题(我在 Debian 中遇到过这种情况)。我不确定您是否可以尝试类似的操作:

安装 openssl

  • sudo apt-get 更新
  • sudo apt-get 安装 openssl
  • sudo apt-get 安装 libssl-dev

使用 ssl 安装 FreeTDS

安装pymssql

祝你好运

我发现了问题

我无法使用 Windows 身份验证

访问 SQL 数据库

我使用了用户 ID 和密码来解决这个问题

conn = pymssql.connect(server="MyServer", database="MyDB", port="1433", user="MyUser", password="MyPwd")