我正在尝试在我的rails应用程序中使用远程数据库。为了实现这一点,我按照以下说明使用ruby-oci8:http://www.pixellatedvisions.com/2009/03/26/rails-on-oracle-part-2-setting-up-rails-to-connect-to-an-oracle-database
我对第1部分没有任何问题,通过sqlplus连接到远程数据库,但是当我尝试使用oci8时:
ruby -r oci8 -e "OCI8.new('user', 'pass', 'host_ip:port/sid').exec('SELECT * FROM table') {|r| puts ' | ' r.join}"
我明白了:
oci8.c:267:in oci8lib_191.so: ORA-06401: NETCMN: invalid driver designator (OCIError)
from -e:1:in `new'
from -e:1:in `<main>'
谷歌搜索这个错误我读了http://www.dba-oracle.com/t_ora_06401_netcmn_invalid_driver_designator.htm这对我的情况毫无帮助。 我还读到我应该有一个TNSNAMES.ORA文件,我没有......所以我创造了一个没有任何运气。
BTW我正在使用ruby-oci8-2.0.6-x86-mingw32.gem(因为我在windows中),ruby 1.9.3和rails 3.2.3
有任何线索吗?
修改
用Google搜索了一下,发现: