【发布时间】:2010-06-23 12:44:14
【问题描述】:
我最近刚开始在工作中学习/使用 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 文件和指向它的目录的权限,但我不知道 it 需要访问哪些目录。
有人对我应该检查哪些文件/目录的权限有任何建议吗?或者对可能是什么问题有任何其他想法?
更新 我一直在与支持 OCI8 的人发送电子邮件,结果发现多个 Oracle 目录具有阻止我登录访问所需信息的权限。一个简单的测试是尝试运行sqlplus,也失败了。
戴夫
【问题讨论】: