是否有人在AIX上成功使用当前(2.1.7)版本的ruby-oci8
针对Oracle?
我可以运行我的ruby-oci8测试脚本,让它针对Linux的TNS和Windows的TNS而不是AIX。
但是,它不是Oracle Instant Client问题,我可以从我的机器到Oracle(TNS for AIX)服务器执行命令行sqlplus连接,它运行正常。但是,当我将它包装在ruby脚本中时(使用ruby 1.8.7),它失败了:
oci8.c:513:in oci8lib.so: ORA-12537: TNS:connection closed (OCIError)
from /usr/lib64/ruby/gems/1.8/gems/ruby-oci8-2.1.7/lib/oci8/oci8.rb:148:in initialize' from app/controllers/testdb.rb:32:innew'
from app/controllers/testdb.rb:32
我这里没有做任何聪明的事情,只是创建一个像这样的新连接:
conn = OCI8.new(username, password)
关于此的任何信息都会很棒,我还没有尝试过数据包嗅探 - 但是......
-John
答案 0 :(得分:0)
我最终得到了这个工作,简短的回答是我使用完整的连接字符串成功,即: OCI8.new("用户/密码@(介绍=(地址=(协议= TCP)(主机= host.uab.edu)(端口= 1521))(CONNECT_DATA =(SID = somesid)))&# 34)
令人困惑的部分是API中没有提到这种格式,我必须使用sid = of service_name =。