尝试使用Python查询DeltaDNA时出现“无结果。以前的SQL不是查询”

时间:2019-05-08 20:15:10

标签: python odbc pyodbc

我当前正在尝试查询deltadna数据库。他们的Direct SQL Access指南指出,任何与PostgreSQL ODBC兼容的工具都应该能够正确连接。使用该指南,我在Windows中设置了ODBC数据源

我尝试添加Set nocount on,更改了连接字符串的各种格式,将表名更改为(account)。(system)。(tablename),但都无济于事。简单的查询在Excel中有效,并且我也交叉引用了Excel如何格式化所有内容,因此出现无查询问题就更奇怪了。

import pyodbc

conn_str = 'DSN=name'
query1 = 'select eventName from table_name limit 5'

conn = pyodbc.connect(conn_str)
conn.setdecoding(pyodbc.SQL_CHAR,encoding='utf-8')
query1_cursor = conn.cursor().execute(query1)
row = query1_cursor.fetchone()
print(row)

结果为ProgrammingError:无结果。以前的SQL不是查询。

1 个答案:

答案 0 :(得分:1)

像这样尝试:

import pyodbc

conn_str = 'DSN=name'
query1 = 'select eventName from table_name limit 5'

conn = pyodbc.connect(conn_str)
conn.setdecoding(pyodbc.SQL_CHAR,encoding='utf-8')
query1_cursor = conn.cursor()
query1_cursor.execute(query1)
row = query1_cursor.fetchone()
print(row)

您不能在同一行中进行cursor声明和执行。从那时起,您的query1_cursor变量将指向一个没有执行任何查询的游标对象。