我试图用Alembic为我的SQLServer数据库创建一个数据库迁移脚本,但连接字符串有问题。
这就是我现在所拥有的:
sqlalchemy.url = "mssql+pyodbc://db_server/database?trusted_connection=yes&driver=ODBC Driver 17 for SQL Server"
alembic current
过程中的错误消息:sqlalchemy.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
的建议都将不胜感激。
发布于 2021-01-05 07:37:11
我能够通过删除引号来解决这个问题。
这就是我的alembic.ini
现在如何拥有相应的行:
sqlalchemy.url = mssql+pyodbc://dbserver/database?trusted_connection=yes&driver=ODBC Driver 17 for SQL Server
发布于 2021-01-05 07:09:32
URL不能包含空格。将空格替换为+
字符:
sqlalchemy.url = "mssql+pyodbc://db_server/database?trusted_connection=yes&driver=ODBC+Driver+17+for+SQL+Server"
您可以了解有关URL encoding的更多信息,空格不是URL中唯一需要转义的字符。
https://stackoverflow.com/questions/65570639
复制相似问题