首页 > 解决方案 > SQLAlchemy Alembic:SQLServer 的 URL 问题

问题描述

我试图用 Alembic 为我的 SQLServer 数据库创建一个数据库迁移脚本,但连接字符串有问题。

这就是我现在所拥有的:

sqlalchemy.url = "mssql+pyodbc://db_server/database?trusted_connection=yes&driver=ODBC Driver 17 for SQL Server"

期间的错误消息alembic currentsqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string '"mssql+pyodbc://dbserverxx/dbxx?trusted_connection=yes&driver=ODBC Driver 17 for SQL Server"'

我用 SQLite 测试了我的脚本并且工作正常。

我用的是Mac,内容odbcinst.ini如下:

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.17.dylib
UsageCount=2

我能够使用 PyODBC 连接到数据库并执行原始 SQL。

任何拥有权利sqlalchemy.url的建议表示赞赏。

标签: pythonsqlalchemyalembicflask-migratesqlalchemy-migrate

解决方案


我能够通过删除引号来解决问题。

这就是我alembic.ini现在拥有相应行的方式:

sqlalchemy.url = mssql+pyodbc://dbserver/database?trusted_connection=yes&driver=ODBC Driver 17 for SQL Server

推荐阅读