1

在尝试连接到数据库时,我收到一个奇怪的错误:

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 版。正在连接的用户具有必要的权限。

4

1 回答 1

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')
于 2009-09-06T18:03:57.457 回答