【问题标题】:Python pyodbc, How to return sql console informationPython pyodbc,如何返回sql控制台信息
【发布时间】:2023-12-09 06:50:01
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python pyodbc


    【解决方案1】:

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

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

    【讨论】:

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