创建 SQLALchemy 后 engine
像这样
engine = create_engine('mssql+pyodbc://user:pass@dbserver:port/db_name?driver=ODBC+Driver+13+for+SQL+Server)
有没有办法获取
db_name
从引擎对象?我知道我可以从连接字符串解析名称,但有没有更好的方法来做到这一点?我看了SQLAlchemy-API但找不到答案。
最佳答案
引擎提供连接信息,因此您可以访问这些参数。例如,如果您在调试器中,则可以执行以下操作:
(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
关于python - SQLAlchemy : Get database name from engine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53554458/