首页 > 解决方案 > 创建 sqlalchemy 引擎时出错:驱动程序关键字语法错误 (IM012)

问题描述

我正在尝试使用 sqlalchemy 引擎在我的 python 脚本中对数据库进行更改,这在我的普通 PC(和我的笔记本电脑)上运行良好,但我现在正试图让脚本在 vm 上运行,所以我可以在不妨碍我正常工作的情况下将其自动化。我认为我的 venv 设置正确,并且我已经为 SQL Server 下载了 ODBC 驱动程序 17,但是当我尝试写入数据库时​​,我不断收到此错误:

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('IM012', '[IM012] [Microsoft][ODBC Driver Manager] DRIVER keyword syntax error (0) (SQLDriverConnect)')

我的连接字符串采用以下格式,正如我所提到的,它在另外两台 PC 上完美运行,并且我尝试了很多不同的变体来编写驱动程序名称(每个单词之间用 '+' 和 {} 包围它) 我仍然无法让它工作。

engine_string = r"mssql+pyodbc://Username:Password" \
                        r"@azure.database.windows.net/database_name?" \
                        r"driver=ODBC Driver 17 for SQL Server;" \
                        r"MARS_Connection=yes;" \
                r"pool_pre_ping=True

我已经尝试了在几个小时的谷歌搜索中可以找到的所有解决方案,但似乎没有任何效果。我也尝试过移除 mars 连接和池 pre ping 位,尽管如前所述,它们确实可以正常工作。

谢谢

标签: pythonsql-serversqlalchemyodbcpyodbc

解决方案


推荐阅读