2012-12-28 2 views
0

Jruby와 Rails 3을 jxls과 함께 사용하고 있습니다. Java 라이브러리를 사용하여 Excel에서 보고서를 생성합니다.ActiveRecord JRuby에서 java.sql.connection에 액세스 하시겠습니까?

jxls API에는 생성자에서 java.sql.Connection을 사용하는 ReportManagerImpl이 있습니다.

ReportManager reportManager = new ReportManagerImpl(conn, beans); 

내 작동 코드가 아닌 ReportQuery는 ActiveRecord 개체입니다.

conn = ReportQuery.connection 
rm = Java::NetSfJxlsReport::ReportManagerImpl.new(conn, params) 

그러나 액티브 :: Base.connection을하지로 java.sql.Connection을 반환하지만, 액티브 :: ConnectionAdapters을 :: JdbcAdapter 다음 JRuby를은 다음과 같습니다.

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> 

답변

0

사용. jdbc_connection JRuby에서 원시 JDBC 연결에 액세스하기위한 ActiveRecord 연결의 메소드 :

ActiveRecord::Base.connection.jdbc_connection 
관련 문제