Python pyodbc,如何返回sql控制台信息

Posted

技术标签:

【中文标题】Python pyodbc,如何返回sql控制台信息【英文标题】:Python pyodbc, How to return sql console information 【发布时间】:2018-08-06 18:12:13 【问题描述】:

我目前正在学习如何在 python 中使用 Pyodbc,并且已经很好地理解了它的工作原理。但是,我有一个关于获取当前 sql 控制台结果的问题。我知道您可以使用 cursor.fetch...() 命令返回查询,但是如何返回打印行?例如:

SQL Version:
print convert(varchar, getdate(), 14)

Pyodbc Version:
cursor.execute('print convert(varchar, getdate(), 14)')

在 sql 编辑器中这有效,但我似乎无法让 pyodbc 返回打印结果?是否需要使用某个光标命令或需要创建某种形式的逻辑,以便 pyodbc 可以理解打印行?

【问题讨论】:

【参考方案1】:

只需获取结果并打印。用选择替换打印。游标只处理结果集

 cursor.execute('select convert(varchar, getdate(), 14)')
 row = cursor.fetchone()
 if row:
     print(row)

【讨论】:

执行此操作时返回:pyodbc.ProgrammingError: No results。以前的 SQL 不是查询。 哦,我没有意识到这一点。那么用 select 替换 print 呢? 哦,大声笑,你是对的,它确实有效!永远不会想到这一点。谢谢!!

以上是关于Python pyodbc,如何返回sql控制台信息的主要内容,如果未能解决你的问题,请参考以下文章

将pyodbc游标结果输出为python字典

使用 pyodbc 将 Python 连接到 MS SQL Server

使用 pyodbc 将 SQL Server 连接到 Python 3

使用 pyodbc 将 docker python 连接到 SQL 服务器

如何使用 python pyodbc 检查表中是不是存在列?

没有名为 sql_server.pyodbc.base 的模块