我最近才开始在工作中学习/使用 Ruby。我有一个超级简单的测试脚本,它只连接到我们的 Oracle 10g 数据库,运行一个选择,然后将结果“显示”到屏幕上。这是在 Solaris 10 服务器上。如果我以“应用程序”用户(运行我们的自动化脚本的系统用户)身份运行脚本,则脚本运行良好。如果我自己运行它,则会引发错误:
oci8lib.c:98:in oci8lib.so: OCI Library Initialization Error (OCIError)
from /usr/local/lib/ruby/site_ruby/1.8/oci8.rb:25
from ./dbTest.rb:3:in `require'
from ./dbTest.rb:3
我的环境变量与“应用程序”用户的匹配。我假设这是某个文件/目录或其他文件/目录的权限问题,但我不知道从哪里开始寻找。oci8.rb 文件中的第 25 行是“require 'oci8lib_18'”指令。我已经读取并执行了 oci8lib_18.so 文件和指向它的目录的权限,但我不知道它需要访问哪些目录。
有人对我应该检查权限的文件/目录有什么建议吗?或者关于问题可能是什么的任何其他想法?
更新我一直在与支持 OCI8 的人发送电子邮件,结果发现几个 Oracle 目录具有阻止我登录访问所需信息的权限。一个简单的测试是尝试运行 sqlplus,它也失败了。
戴夫