使用 informixdb 连接时的 SQLCODE -1829
Posted
技术标签:
【中文标题】使用 informixdb 连接时的 SQLCODE -1829【英文标题】:SQLCODE -1829 on connect using informixdb 【发布时间】:2009-09-06 13:54:07 【问题描述】:在尝试连接到数据库时,我收到一个奇怪的错误:
DatabaseError: SQLCODE -1829 in CONNECT:
ì¦à : Cannot open file 'os.iem'
ì¦à : Cannot open file 'os.iem'
我可以确认该文件存在于 $INFORMIXDIR/msg/en_us/0333/ 目录中。环境变量 INFORMIXDIR、INFORMIXSERVER 和 ONCONFIG 设置正确且符合我的实例的预期。关于我可能做错了什么的任何线索?
我正在使用informixdb(2.5 版)连接并正在连接到Informix 11.5 版。正在连接的用户具有必要的权限。
【问题讨论】:
informixdb 是用于连接 Informix 的 Python 模块吗? 是的,就是连接Informix的Python模块。 【参考方案1】:好的,想通了这个!似乎只有在导入 informixdb 模块之前设置的 env 值会影响模块的工作方式。所以以下不起作用:
import informixdb
os.environ["INFORMIXDIR"] = "/opt/informix"
...
def conn(db):
informixdb.connect(db, self.username, self.passwd)
...
conn('local')
而以下是:
os.environ["INFORMIXDIR"] = "/opt/informix"
import informixdb
...
def conn(db):
informixdb.connect(db, self.username, self.passwd)
...
conn('local')
【讨论】:
干得好。我以为它是“环境”,但在我知道自己在处理什么之前不想自夸。以上是关于使用 informixdb 连接时的 SQLCODE -1829的主要内容,如果未能解决你的问题,请参考以下文章
使用sqlalchemy的informix DB的Python数据库连接
通过 python informixdb 寻找 Informix 的 SQL 插入语法