Python SQLAlchemy Alembic:SQLServer的URL存在问题

Python SQLAlchemy Alembic:SQLServer的URL存在问题,python,sqlalchemy,alembic,flask-migrate,sqlalchemy-migrate,Python,Sqlalchemy,Alembic,Flask Migrate,Sqlalchemy Migrate,我试图用Alembic为我的SQLServer数据库创建数据库迁移脚本,但连接字符串出现问题 这就是我现在拥有的: sqlalchemy.url=“mssql+pyodbc://db_server/database?trusted_connection=yes&driver=ODBC SQL Server的驱动程序17“ alembic当前期间出现错误消息: sqlalchemy.exc.ArgumentError:无法从字符串“mssql”解析rfc1738 URL+pyodbc://dbs

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

这就是我现在拥有的:

sqlalchemy.url=“mssql+pyodbc://db_server/database?trusted_connection=yes&driver=ODBC SQL Server的驱动程序17“
alembic当前期间出现错误消息:
sqlalchemy.exc.ArgumentError:无法从字符串“mssql”解析rfc1738 URL+pyodbc://dbserverxx/dbxx?trusted_connection=yes&driver=ODBC SQL Server“”的驱动程序17

我用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
的建议都将不胜感激。

url不能有空格。将空格替换为
+
字符:

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

您可以了解更多信息,空格不是URL中必须转义的唯一字符。

我可以通过删除引号来解决这个问题

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

sqlalchemy.url=mssql+pyodbc://dbserver/database?trusted_connection=yes&driver=ODBC SQL Server的驱动程序17

我试过了,但没有成功。但是,我可以通过删除
(引号)来解决这个问题。是的,应该对SQLAlchemy连接URI进行编码,但实际上并没有问题(如另一个答案所示)。恐怕必须转义的字符只有
@
//code>和
(也可能是
+
本身,但不确定这一点)。