python SQLAlchemy:从引擎获取数据库名称

0md85ypi  于 2023-04-04  发布在  Python
关注(0)|答案(1)|浏览(88)

像这样创建SQLALchemy engine之后

engine = create_engine('mssql+pyodbc://user:pass@dbserver:port/db_name?driver=ODBC+Driver+13+for+SQL+Server)

有没有一种方法可以从engine-object中获取db_name?我知道我可以从连接字符串中解析名称,但是有没有更好的方法可以做到这一点?我看了一下SQLAlchemy-API,但是找不到答案。

628mspwn

628mspwn1#

引擎提供连接信息,因此您可以访问这些参数。例如,如果您在调试器中,则可以执行以下操作:

(pdb) pp dir(dbconn.engine.url)
[...
 'database',
 'drivername',
 'get_backend_name',
 'get_dialect',
 'get_driver_name',
 'host',
 'password',
 'password_original',
 'port',
 'query',
 'translate_connect_args',
 'username']

因此,获取数据库名称的简单方法是:

engine.url.database

相关问题