首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ActiveRecord JRuby访问ActiveRecord JRuby?

从ActiveRecord JRuby访问ActiveRecord JRuby?
EN

Stack Overflow用户
提问于 2012-12-28 08:53:42
回答 1查看 325关注 0票数 0

我在jxls中使用Jruby 3,这是一个在Excel中生成报告的Java库。

jxls API有一个ReportManagerImpl,它在构造函数中接受一个java.sql.Connection。

代码语言:javascript
复制
ReportManager reportManager = new ReportManagerImpl( conn, beans );

在我的非工作代码中,ReportQuery是一个ActiveRecord对象.Jruby看起来如下所示:

代码语言:javascript
复制
conn = ReportQuery.connection
rm = Java::NetSfJxlsReport::ReportManagerImpl.new(conn, params)

但是ActiveRecord::Base.connection返回的不是java.sql.Connection,而是java.sql.Connection

如何从JRuby?访问底层java.sql.Connection对象

我得到的错误消息是:

代码语言:javascript
复制
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> 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-16 01:30:54

在.jdbc_connection连接上使用ActiveRecord方法访问JRuby中的原始JDBC连接:

代码语言:javascript
复制
ActiveRecord::Base.connection.jdbc_connection
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14066953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档