我正在尝试使用Python中的SQLAlchemy连接到Azure数据库 .
我的代码如下:
engine_azure = \
create_engine('mssql+pyodbc://{Server admin login}:{password}@{Server name}.database.windows.net:1433/{AdventureWorksLT}', echo=True)
我收到以下消息:
C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\connectors\pyodbc.py:92: SAWarning: No driver name specified; this is expected by PyODBC when using DSN-less connections
"No driver name specified; "
然后我运行以下代码:
print(engine_azure.table_names())
我收到以下消息:
DBAPIError: (pyodbc.Error) ('01S00', '[01S00] [Microsoft][ODBC Driver Manager] Invalid connection string attribute (0) (SQLDriverConnect)')
您的建议将不胜感激 .
1 回答
连接字符串有2个问题:
根据SQLAlchemy documentation:
The delimeters must be URL escaped
使用传递精确pyodbc字符串时 .并且您也没有指定sql驱动程序名称 .
你可以使用下面的代码,这在我身边很好用:
测试结果:
对于连接字符串,您可以通过访问azure portal - >您的数据库 - >连接字符串(在这种情况下选择ODBC)来获取它: