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 に答える