当我使用datastage连接到informix数据库时,出现错误:
main_program:PATH搜索失败: main_program:加载“orchinformix”时出错:无法加载“orchinformix”:libifasf.so:错误的ELF类:ELFCLASS32。 main_program:找不到“infxread”的运算符定义,包装器或Unix命令;请检查所有需要的库是否已预加载,并检查PATH中的包装器
可能导致此问题的原因是什么?等待帮助。非常感谢!
答案 0 :(得分:0)
错误消息的关键部分是:
libifasf.so:错误的ELF类:ELFCLASS32。
您正在运行64位系统(或者至少是64位可执行文件),但是您安装了32位版本的Informix ClientSDK或Informix Connect库,以及{{1}代码试图加载32位orchinformix
库,但失败了。
要修复,您需要找出您的代码尝试使用的libifasf.so
,并且您需要查明是否在计算机上安装了64位版本。如果没有64位版本,那么您当然需要安装它。
然后你需要调整一些东西,以便加载正确的库而不是错误的库。目前还不清楚它将采取什么措施。仔细查看配置和安装说明。
通常,libifasf.so
和其他Informix库安装在libifasf.so
或其子目录中(例如$INFORMIXDIR/lib
或$INFORMIXDIR/lib/esql
)。您可能需要将INFORMIXDIR环境变量设置为安装64位软件的位置,或者您可能需要使用其他环境变量($INFORMIXDIR/lib/client
,LD_LIBRARY_PATH
,DYLD_LIBRARY_PATH
等) ,或者您可能需要调整配置文件(SHLIB_PATH
或类似文件)。
如果这还没有足够的帮助,请确定您正在使用的平台(o / s和版本),以及运行Informix数据库服务器的位置(是同一台机器还是不同的机器)机器),以及正在使用的Informix数据库和连接的版本。在这种情况下,重要的是12.10.FC4和12.10.UC4略有不同; F表示64位,U表示32位Unix(W表示32位Windows)。请提供产品的所有版本号信息。