无法使用 SQLAlchemy 连接到 Azure 数据仓库(现在称为 Synapse)

I e*_*ast 3 sql-server sqlalchemy

我正在尝试使用 python 的 sqlalchemy 库连接到 microsoft azure 数据仓库。并收到以下错误:

[ODBC Driver 17 for SQL Server][SQL Server]111214;An attempt to complete a transaction has failed. No corresponding transaction found. (111214)

我尝试过的当前代码:


import sqlalchemy
import urllib

params = urllib.quote_plus("Driver={ODBC Driver 17 for SQL Server};Server=<server-host>.database.windows.net,1433;Database=<database>;Uid=<user>@<server-host>;Pwd=<password>;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;")
engine = sqlalchemy.engine.create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
engine.connect()
Run Code Online (Sandbox Code Playgroud)

我似乎无法理解错误在哪里...是数据库端还是我的 ODBC 连接不正确?我把它从 Azure 门户中拉出来,所以我怀疑情况可能是这样。

I e*_*ast 6

最终使用它作为引擎。必须添加 connect_args。

engine = create_engine('mssql+pyodbc:///?odbc_connect=%s' % params, echo=True, connect_args={'autocommit': True})