简体   繁体   English

Python 使用 sqlalchemy 的 informix DB 的数据库连接

[英]Python Database connection for informix DB using sqlalchemy

I'm trying to connect to remote informix DB as follows using python3 sqlalchemy but it fails to connect我正在尝试使用 python3 sqlalchemy 连接到远程informix DB,但无法连接

sqlalchemy.create_engine("informix://usr1:pwd1@XXX:23300/DB_NAME;SERVER=dsinfmx").connect()

I get the below ERROR while connecting.连接时出现以下错误。

sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:informix

Can someone please provide some help on this.. From Dbeaver, DB server is accessible.有人可以提供一些帮助吗?从 Dbeaver 可以访问数据库服务器。

I assume you are using Informix Python drivers.我假设您使用的是 Informix Python 驱动程序。 If not please install Informix Python driver ie IfxPy.如果不是,请安装 Informix Python 驱动程序,即 IfxPy。 Details to install Informix Python drivers are at this link https://github.com/OpenInformix/IfxPy/blob/master/README.md安装 Informix Python 驱动程序的详细信息位于此链接https://github.com/OpenInformix/IfxPy/blob/master/README.md

Try out below code.试试下面的代码。

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" )

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM