0
我使用Jruby和Rails 3與jxls,一個Java庫在Excel中生成報告。從ActiveRecord訪問java.sql.connection JRuby?
jxls API有一個ReportManagerImpl,它在其構造函數中接受一個java.sql.Connection。
ReportManager reportManager = new ReportManagerImpl(conn, beans);
在我的非工作代碼中,ReportQuery是一個ActiveRecord對象。 JRuby的是這樣的:
conn = ReportQuery.connection
rm = Java::NetSfJxlsReport::ReportManagerImpl.new(conn, params)
不過的ActiveRecord :: Base.connection不返回一個java.sql.Connection,而是一個ActiveRecord的:: ConnectionAdapters :: JdbcAdapter。
如何從JRuby訪問基礎java.sql.Connection對象?
該錯誤消息我得到的是:
2012-12-28 17:28:08,000 [main] WARN org.apache.commons.jexl2.JexlEngine - ![3,149]: 'rm.exec('SELECT d.name depname, e.name empname, age, payment, bonus, birthDate FROM employee e, department d where d.id = e.depid order by age desc');' method invocation error org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `createStatement' for #<ActiveRecord::ConnectionAdapters::JdbcAdapter:0x13ba673>