【发布时间】:2019-07-12 07:33:39
【问题描述】:
Python 版本:3.7.4
PyODBC 版本:4.0.26-cp37
我正在尝试连接到 Microsoft SQL 服务器。我正在使用以下代码,并且能够使用标准查询来查询数据库:
示例 1:
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server=SERVER-A;"
"Database=DATABASE-A;"
"uid=xxx,pwd=yyy")
df = pd.read_sql_query('SELECT * FROM DATABASE-A.dbo.XXX')
但是我需要执行的查询是:
SELECT * FROM OPENQUERY(SERVER-B, SELECT DateTime = convert(nvarchar, DateTime, 21), item1,item2,item3 FROM TableY')
我收到“在 sql 42000 上执行失败”错误代码和“找不到存储过程 'SQL'2812”。
上述打开的查询在 SQL Server Management Studio 中工作。
我不确定错误是由于字符串语法还是库不支持打开的查询。
【问题讨论】:
-
"上述打开的查询在 SQL Server Management Studio 中有效。" - 不,它没有:
Unclosed quotation mark after the character string ')
标签: sql sql-server python-3.x pyodbc openquery