我一直无法连接到Oracle DB,已经读了很多东西,但是对结果没有帮助。
我有远程Oracle DB,我正在使用DBVisualizer设置连接来连接它,如下所示:

DB Type : Oracle
Driver (jdbc) : Oracle thin
Database URL: jdbc:oracle:thin:@10.10.100.10:1521/VVV.LOCALDOMAIN
UserIdf: SomeUser
Pass: SomePass

连接正常。

我在Ruby中所做的是:
require 'oci8'
require 'dbi'
...

conn = OCI8.new('SomeUser','SomePass','//10.10.100.10:1521/VVV.LOCALDOMAIN')
...

我得到的是:
ORA-12545: Connect failed because target host or object does not exist
oci8.c:360:in oci8lib.so

最佳答案

第三个参数必须是TNS主机名,如果使用SQL加,它也是connectstring中的第三个参数,您也可以在oracle映射的tnsnames.ora文件中找到它。

SQLPlus中的: connect user/password @ hostname;
oci8中的: conn = OCI8.new('SomeUser','SomePass',主机名)

这里是一个工作样本,当然混淆了参数

require 'oci8'
oci = OCI8.new('****','***','****.***')
oci.exec('select * from table') do |record|
  puts record.join(',')
end

10-08 04:43