我当前正在尝试查询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不是查询。
答案 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
变量将指向一个没有执行任何查询的游标对象。