【问题标题】:How do I override ActiveModel type processing in Rails (JRuby)如何在 Rails (JRuby) 中覆盖 ActiveModel 类型处理
【发布时间】:2014-04-25 23:01:49
【问题描述】:

我正在尝试使用 Oracle 的 XMLTYPE 围绕具有“SESSION_XML”列的 oracle 表创建一个 rails 模型。每当我尝试使用模型从数据库中获取数据时,连接适配器都会响应:

SELECT "ZC_SESSION_DATA".* FROM "ZC_SESSION_DATA" WHERE ROWNUM <= 1
ActiveRecord::StatementInvalid: Java::JavaLang::NoClassDefFoundError: oracle/xdb/XMLType:SELECT  "ZC_SESSION_DATA".* FROM "ZC_SESSION_DATA"  WHERE ROWNUM <= 1
from oracle.jdbc.oracore.OracleTypeADT.applyTDSpatches(OracleTypeADT.java:1081)

在我看来,Java(我在 JRuby 之上使用 Rails)抱怨它没有用于解析 XMLTYPE 列的类型似乎很清楚,所以我的问题是:如何强制使用 rails将 XMLTYPE 解释为平面字符串。

我可以自己解析 XML,但是如何让适配器停止尝试解析它?

【问题讨论】:

    标签: ruby-on-rails oracle jruby rails-activerecord jrubyonrails


    【解决方案1】:

    这是一个 Oracle 问题,而不是真正的 ActiveRecord 问题:

    https://community.oracle.com/thread/485754?start=0&tstart=0

    TL;DR 有一个未加载的 jar 定义了 XMLType。

    【讨论】:

      猜你喜欢
      • 2010-09-10
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 2019-03-13
      • 2012-04-12
      • 2012-01-19
      • 1970-01-01
      相关资源
      最近更新 更多