gpt4 book ai didi

python - pymssql 不返回结果数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:48 26 4
gpt4 key购买 nike

我在 Linux 上运行 pymssql 包(版本 1.0.2)时遇到问题。看起来我可以成功连接并向服务器发出 SQL 语句,但查询返回空白结果。我已经确认 CREATE TABLEINSERT 语句可以正常工作,但即使我创建一个新表并将数据插入其中,对该表的查询也会返回空白/空结果.这是我正在使用的代码:

>>> import pymssql
>>> conn = pymssql.connect(host='#', user='#', password='#', database='#')
>>> cur = conn.cursor()
>>> cur.execute('SELECT * FROM tblFoo')
>>> print cur.fetchone()
None
>>> cur.execute('SELECT * FROM tblFoo')
>>> cur.fetchall()
[]
>>> cur.execute('SELECT GETDATE()')
>>> print cur.fetchone()
None

我也尝试过使用 _mssql 包,并使用全局配置通过 freetds 使 _mssql 连接到数据库,但我遇到同样的问题。

通过 tds 命令行工具进行连接和查询确实按预期返回结果。

我在 redhat 上使用 Python 2.6.6,我正在通过构建安装 pymssql。我也试过使用 pip 进行全局安装,我也试过使用 pymssql 的最新开发版本。

有没有其他人遇到过这个或类似的问题?关于如何调试此问题的任何建议?我仅限于在这个项目中使用 SQL Server,而且我无法使用 pyodbc

更新:

进一步调查显示我们使用的是 freetds 0.91,这似乎会导致 pymssql 1.0.2 出现问题,但是在使用最新版本构建时我仍然看到问题pymssql 的版本。

最佳答案

这是 freetds 0.91 和 pymssql 1.0.X 之间的一些不兼容问题(参见 bugreport here)

然而,最新版本的 pymssql 已修复此问题(我升级到 2.0.1,此问题消失了 - 包的确切名称:pymssql-2.1.0-py2.7-linux-x86_64.egg)。现在使用 python setuptools 很容易:

easy_install --upgrade pymssql

(不要忘记应该事先安装 python-dev 和 freetds-dev debs)

关于python - pymssql 不返回结果数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18760286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com