我正在尝试从服务器获取数据,所以我尝试了如下
#!/usr/bin/python
import pymssql
conn = pymssql.connect(host='xxxx', user='xxx', password='xxx', database='xxx')
cursor = conn.cursor()
x2 = 'select * from result where url like\'%get content%\''
cursor.execute(x2)
data = cursor.fetchall()
field_names = [i[0] for i in cursor.description]
print field_names
print data
当我运行此程序时,它只给出列名,data
变量为空。我不知道是什么原因。我该如何解决?
我在Windows中运行相同的脚本没有问题。但是当我在Ubuntu 14.04
中执行脚本时,data
变量为空。
答案 0 :(得分:3)
这是Ubuntu上PyMSSQL 1.0.x
的已知错误。见No data returned from MSSQL server。解决方案是将其升级到版本>= 2.0.1
。
由于PyMSSQL 1.0.x和FreeTDX版本存在问题 存储库,PyMSSQL不再从MSSQL返回任何信息 数据库查询。这意味着你不能使用fetchone()或fetchall() 或类似的方法从数据库查询中获取数据。
托马斯·沃德(teward)在2016-06-05写道:这是由于freetdx和PyMSSQL 1.0.x之间不兼容。
解决方法是删除python-pymssql包,并运行
pip install pymssql
或easy_install --upgrade pymssql
或类似,以 获取最新的pymssql版本,大于或等于 2.0.1。强>还确认了Xenial和Yakkety的这个问题,以及 Trusty 。
答案 1 :(得分:-1)
您可以在ubuntu 14.04上试用pyodbc