我正在尝试使用 Python 和 sqlalchemy 库从 Denodo 获取表。这是我的代码
from sqlalchemy import create_engine
import os
sql = """SELECT * FROM test_table LIMIT 10 """
engine = create_engine('mssql+pyodbc://DenodoODBC', encoding='utf-8')
con = engine.connect().connection
cursor = con.cursor()
cursor.execute(sql)
df = cursor.fetchall()
cursor.close()
con.close()
当我第一次尝试运行它时,我收到以下错误。
DBAPIError: (pyodbc.Error) (' \x10#', "[ \x10#] 错误: 找不到 arity 0 的函数 'schema_name'\njava.sql.SQLException: 找不到 arity 0 的函数 'schema_name';\nError执行查询时 (7) (SQLExecDirectW)") [SQL: SELECT schema_name()]
我认为问题可能出在 create_engine 上,因为当我尝试第二次运行代码而不再次创建引擎时,一切都很好。
我希望有人可以向我解释发生了什么。谢谢 :)