我对Informix很陌生,而且我尝试使用sperform
运行屏幕,但是当我尝试查询时,它只是段故障。到目前为止,我有:
isql
生成表单sperform
当我尝试使用表单查询时,我得到了一个"分段错误(核心转储)"它退出了。谁能帮我理解为什么?这不是基本的吗?
答案 0 :(得分:2)
是;这是基本的。没有;它不应该崩溃。基本上没有任何情况下该序列应该崩溃。您应该向IBM提交错误报告。
唯一可能存在问题的问题是ISQL可能是使用比服务器安装的旧版CSDK构建的,并且可能存在意外的不兼容性。它应该有效,但偶尔会出现漏洞。如果你想探索如何证明这种可能性,请说明。它有点繁琐,但可以帮助您正常运行,同时问题得到正式解决。
YES!我想尝试解决这个问题。
在我看来,第一步是查看ISQL(Informix SQL)在单独安装时是否正确运行 - 而不是在与Informix服务器代码混合时运行。它应该在两种环境中都可以工作,但是新的服务器代码可能已经改变了导致旧工具代码中断的东西。
因此,重新安装Informix SQL(以及其他开发工具,如果您需要,但您可以将这些工具保存到您只有ISQL的POC之前)到新目录中。假设您的服务器安装在/opt/informix
;您可以在/opt/isql
中安装工具。 (无需从/opt/informix
下卸载工具。)
sqlhosts
文件(从/opt/informix/etc/sqlhosts
)复制到新的/opt/isql/etc/sqlhosts
。INFORMIXDIR=/opt/isql
。PATH=$INFORMIXDIR/bin:$PATH
)。LD_LIBRARY_PATH
的设置 - 您希望从/opt/isql/lib
下的图书馆中选择图书馆,而不是/opt/informix/lib
下的图书馆。INFORMIXSERVER
不变;你仍然会和同一个数据库服务器通话。您现在应该尝试(重新)生成表单文件并运行它。只需一点点运气,它现在就可以使用了。
好的,有效!不知道这是不是一件好事,但我们会尝试将这种改变投入生产。
它让你去;非常好。对我而言,工具发布的质量保证流程的基本原理并未破裂,这也让我感到宽慰。该产品在为其开发的环境中运行时可以正常工作。
令人讨厌的是,服务器的后续版本发生了变化,因此较旧版本的工具不再适用于较新的服务器。它应该没问题。但是,为工具和服务器运行单独的INFORMIXDIR值并不是闻所未闻。如果服务器位于单独的机器上,则隔离将是不可避免的 - 工具将使用与服务器使用的INFORMIXDIR不同的单独INFORMIXDIR(忽略NFS文件系统等)
我的步骤中是否有可能导致某些内容被覆盖?
没有。经典的“TEN规则(工具,引擎,网络)” - 在服务器之前(在启用网络的服务器版本之前)安装工具或多或少适用,并且就是您所做的。 20年前,单独的网络版服务器不再具有相关性,但引擎之前的工具(“TE的规则”并没有削减它)通常是正确的。
由于解决方法有效,我们需要先了解一下:这对你意味着什么?
INFORMIXDIR=/opt/isql
及后续环境设置一起运行。INFORMIXDIR=/opt/informix
及后续环境设置一起运行。/opt/isql/bin
中为您希望开发人员或用户使用的/opt/informix/bin
程序设置脚本。/opt/isql/bin
中的脚本将为服务器正确设置环境,然后执行服务器程序。/opt/informix/bin
中的脚本将类似地为工具正确设置环境,然后执行工具程序。