使用 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
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.9.tar.gz
gunzip freetds-1.00.9.tar.gz
tar -xvf freetds-1.00.9.tar
cd freetds-1.00.9.tar
sudo ./configure --with-openssl='/usr/lib/ssl'
sudo make
sudo make install
使用标志从源安装 pymssql 以不使用捆绑的 FreeTDS
导出PYMSSQL_DONT_BUILD_WITH_BUNDLED_FREETDS=1
sudo -H pip install git+https://github.com/pymssql/pymssql.git
安装pymssql
导出PYMSSQL_DONT_BUILD_WITH_BUNDLED_FREETDS=1
sudo -H pip install git+https://github.com/pymssql/pymssql.git
祝你好运
我发现了问题
我无法使用 Windows 身份验证
访问 SQL 数据库
我使用了用户 ID 和密码来解决这个问题
conn = pymssql.connect(server="MyServer", database="MyDB", port="1433", user="MyUser", password="MyPwd")
我已经在 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
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.9.tar.gz
gunzip freetds-1.00.9.tar.gz
tar -xvf freetds-1.00.9.tar
cd freetds-1.00.9.tar
sudo ./configure --with-openssl='/usr/lib/ssl'
sudo make
sudo make install
使用标志从源安装 pymssql 以不使用捆绑的 FreeTDS
导出PYMSSQL_DONT_BUILD_WITH_BUNDLED_FREETDS=1
sudo -H pip install git+https://github.com/pymssql/pymssql.git
安装pymssql
导出PYMSSQL_DONT_BUILD_WITH_BUNDLED_FREETDS=1
sudo -H pip install git+https://github.com/pymssql/pymssql.git
祝你好运
我发现了问题
我无法使用 Windows 身份验证
访问 SQL 数据库我使用了用户 ID 和密码来解决这个问题
conn = pymssql.connect(server="MyServer", database="MyDB", port="1433", user="MyUser", password="MyPwd")