【发布时间】:2013-09-12 09:20:29
【问题描述】:
我在 Linux 上运行 pymssql 包(版本 1.0.2)时遇到问题。看起来我可以成功连接并向服务器发出 SQL 语句,但查询返回空白结果。我已经确认CREATE TABLE 和INSERT 语句可以正常工作,但即使我创建一个新表并将数据插入其中,针对该表的查询也会返回空白/空结果。这是我正在使用的代码:
>>> 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 包,并使_mssql 使用全局配置通过freetds 连接到数据库,但我遇到了同样的问题。
通过tds 命令行工具进行连接和查询确实按预期返回结果。
我在 redhat 上使用 Python 2.6.6,并通过 buildout 安装 pymssql。我还尝试使用pip 进行全局安装,并且我还尝试使用pymssql 的最新开发版本。
有没有其他人遇到过这个或类似的问题?有关如何调试此问题的任何建议?我被限制在这个项目中使用 SQL Server,我无法使用pyodbc。
更新:
进一步调查显示我们正在使用freetds 0.91,这似乎会导致pymssql 1.0.2 出现问题,但是我在使用最新版本的pymssql 构建时仍然遇到问题。
【问题讨论】:
-
你能添加一些代码吗?如何知道你得到了空白结果?
-
@RomanPekar 我不确定这是否值得,但我会用更多信息更新问题。
-
感谢提问,pmod 的回答解决了我的问题 :)
标签: python sql-server pymssql