我在 Azure Data Studio 中操作 python 3 笔记本(类似于 jupyter notebook)并尝试通过 pyodbc 访问现有的全局临时表(##TEMP1)。
这是我的代码:
import pandas as pd
import pyodbc
con = pyodbc.connect(
Trusted_Connection="yes",
driver="{ODBC Driver 17 for SQL Server}",
host="SERVERNAME",
database=db,
trustServerCertificate="yes",
multisubnetfailover="yes",
applicationIntent="ReadOnly",
)
sql = """
select * from ##TEMP1
"""
data = pd.read_sql(sql, con)
con.close()
data.head()
在 Azure Data Studio 中,当我将内核切换到 sql 并简单地从 ##TEMP1 查询 select * 时,它会返回结果,但是当我尝试通过 pyodbc 通过上面的 python 代码运行时,它会返回以下错误。
DatabaseError: 执行失败 sql ' select * from ##TEMP1 ': ('####', "[####] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name '# #TEMP1'。(###) (SQLExecDirectW)")
请帮助,那些比我聪明得多的人!:)