python - SQLAlchemy : Get database name from engine

标签 python sql-server

创建 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/

相关文章:

sql-server - 尝试连接到 SQL Server 2016 时出现错误 596

sql - 在 CASE SQL 语句中使用 BETWEEN

python - 任务完成时间比预期要长得多

python - 在Python中匹配以特定扩展名结尾的文件名的简洁方法?

python - 检查一个字节是否可以 ascii 打印

python - Scrapy:ImportError:没有名为项目的模块

python - keras 序列模型中的多个输出

sql-server - "any, all and some"在 T-SQL 中使用的多吗?

sql - Transact-sql 中的条件运算符

c# - 将连接字符串存储在数据库中并在应用程序启动时检索它