python和pymssql

12 python sql sql-server pymssql

我是python的新手.我正在尝试查询MSSQL数据库.


import pymssql
conn = pymssql.connect(host='hostname', user='username', password='password', database='dbname')
cursor = conn.cursor()
sql = "select count(*) from T_Email with (nolock) where Transmit is null"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
  print (row)
Run Code Online (Sandbox Code Playgroud)

成功运行的查询是Microsoft SQL Server Management Studio,但我的python脚本始终不返回任何内容.

我确认我有网络连接.我验证了用户名,密码和数据库名称.如果我更改密码,那么脚本将出错.

我已经尝试过results = cursor.fetchone(),但这没有帮助.

有什么建议?

Der*_*omm 1

尝试将 conn.commit() 添加到您的查询中

  • >>> conn.commit() >>> >>> results =cursor.fetchall() 回溯(最近一次调用):文件“<stdin>”,第 1 行,在?文件“/usr/lib64/python2.4/site-packages/pymssql.py”,第 301 行,在 fetchall 中引发操作错误,“没有可用数据。” pymssql.OperationalError:没有可用数据。fetchone() 也不起作用 (2认同)
  • `SELECT` 查询不需要提交,提交只会使 `fetchall` 引发操作错误 (2认同)