使用jruby和oracle_enhaced适配器的连接字符串无效

时间:2012-02-04 09:20:09

标签: oracle jruby

我已经配置了我的rails app的数据库,如下所示。

test:
  adapter: oracle_enhanced
  host: localhost
  database: localhost:1521/xe
  username: test
  password: test
  pool: 50
  wait_timeout: 10
  tns: xe

它使用REE和oracled_enhanced适配器,但不适用于jruby,而是出现以下错误:

% rake spec
(in /home/xxxxxxxx)
rake aborted!
java.sql.SQLException: Io exception: Invalid connection string format, a valid format is: "host:port:sid"

我还没有能够打印出它尝试使用的实际连接字符串。使用--trace运行rake也无济于事。任何想法我怎么能让这个工作?

2 个答案:

答案 0 :(得分:0)

尝试此连接字符串:

test:
  adapter: oracle_enhanced
  driver: oracle.jdbc.pool.OracleDataSource
  url: jdbc:oracle:thin:@localhost:1521:xe
  ...

这种格式对我有用 /的Mads

答案 1 :(得分:0)

在我的情况下,通过确保将ORACLE_HOMETNS_ADMIN环境变量都设置为即时客户端安装目录来解决此问题:

$ echo $ORACLE_HOME
/Library/Oracle/instantclient/11.2.0.3.0
$ echo $TNS_ADMIN
/Library/Oracle/instantclient/11.2.0.3.0