python - 创建 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 位,尽管如前所述,它们确实可以正常工作。
谢谢
解决方案
推荐阅读
- python - 如何在不丢失列名的情况下连接两个数据透视表
- php - 将大型 Excel 数据上传到数据库而不从 PHP 循环
- javascript - 使用 javascript 循环 101 102 …
- reactjs - 在选项卡和 onFocus 上显示 div 并在 onBlur 上隐藏
- python - 在python3中对同时包含字符串和整数的文件进行排序
- xml - 将命名空间添加到 xsd 元素
- html - HTML CSS:仅为内部元素添加边框网格线
- c# - For 循环不执行所有代码 - 没有错误
- c - _headerfile_h 这个名字是什么意思
- postgresql - 如何解决通过cron作业使用pg_dump进行定期备份时生成零字节文件的问题?