使用sqlalchemy的informix DB的Python数据库连接
Posted
技术标签:
【中文标题】使用sqlalchemy的informix DB的Python数据库连接【英文标题】:Python Database connection for informix DB using sqlalchemy 【发布时间】:2021-04-29 08:19:22 【问题描述】:我正在尝试使用 python3 sqlalchemy 连接到远程 Informix DB,但连接失败
sqlalchemy.create_engine("informix://usr1:pwd1@XXX:23300/DB_NAME;SERVER=dsinfmx").connect()
连接时出现以下错误。
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:informix
有人可以提供一些帮助吗?从 Dbeaver 可以访问数据库服务器。
【问题讨论】:
【参考方案1】:我假设您使用的是 Informix Python 驱动程序。如果没有,请安装 Informix Python 驱动程序,即 IfxPy。安装 Informix Python 驱动程序的详细信息在此链接https://github.com/OpenInformix/IfxPy/blob/master/README.md
试试下面的代码。
from sqlalchemy import create_engine
from sqlalchemy.dialects import registry
from sqlalchemy.orm import sessionmaker
registry.register("informix", "IfxAlchemy.IfxPy", "IfxDialect_IfxPy")
registry.register("informix.IfxPy", "IfxAlchemy.IfxPy", "IfxDialect_IfxPy")
registry.register("informix.pyodbc", "IfxAlchemy.pyodbc", "IfxDialect_pyodbc")
from sqlalchemy import Table, Column, Integer
ConStr = 'informix://<username>:<password>@<machine name>:<port number>/<database name>;SERVER=<server name>'
engine = create_engine(ConStr)
connection = engine.connect()
connection.close()
print( "Done2" )
【讨论】:
以上是关于使用sqlalchemy的informix DB的Python数据库连接的主要内容,如果未能解决你的问题,请参考以下文章
使用 python 的 ibm_db 连接到 informix