"java.sql.SQLException: invalid arguments in call" using Oracle config with JRoR

Hi, All, J. Ruby N. here.

I’m trying to get JRuby on Rails to start using Oracle, but I get “The
driver encountered an error: java.sql.SQLException: invalid arguments
in call”. I’ve got the driver jar in the right place, because
it can find OracleDriver.

The trace complains about:

C:/jruby/lib/ruby/gems/1.8/gems/ActiveRecord-JDBC-0.5/lib/
active_record/connection_adapters/jdbc_adapter.rb,

and by doing puts I find that
Jdbc::DriverManager.getConnection(url, user, pass) throws an
exception,
and the rescue code
jdbc_driver.create.connect(url, props)
throws another exception.

My database.yml:

development:
adapter: jdbc
driver: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@localhost:1521:orcl
user: rubydevel
password: rubydevel

I can create a connection with Java just dandy:

Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection dbConnection=DriverManager.getConnection(
“jdbc:oracle:thin:@localhost:1521:orcl”,“rubydevel”,“rubydevel”);

I’m lost. Has anyone come across this?

Thanks,

Andrey

Ok. This appears to be a failure of communication between database.yml
and
the jdbc_adapter.rb. jdbc_adapter expects the driver param to be named
“username” while all the database.ymls expect the param name user:

def configure_jdbc
driver = @config[:driver].to_s
user = @config[:username].to_s
pass = @config[:password].to_s
url = @config[:url].to_s

Should this be the symbol :user? Is there a standard?