0

Oracle 10g データベースからドメイン オブジェクトを作成しようとしています。問題のフィールドは、次の制約を持つドメイン オブジェクト内の文字列として定義されます。

zdata(空欄:偽,最大サイズ:3000000)

データのサイズは、XML で約 70K です。

テーブル定義は次のようになります。

ZDATA NOT NULL LONG()

テーブルにアクセスするために grails で生成された getter を使用しています。

reportData = ReportData.get(reportDataId)

この呼び出しを行うと、null ポインター例外が発生します。これはスタック トレースの一部です。java.lang.NullPointerException at java.lang.String.(String.java:176) at oracle.sql.CharacterSet.AL32UTF8ToString(CharacterSet.java:1518) at oracle.jdbc.driver.DBConversion.CharBytesToString(DBConversion.java:610) ) oracle.jdbc.driver.T4CLongAccessor.getString(T4CLongAccessor.java: 426) oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:403) で oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1515) で org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet) .java:

Oracle ドライバー 10.2.0.3.0 を使用しています。

4

3 に答える 3

1

これは、バージョン 10.2.0.1.0 のリリース ノートに記載されている oracle jdbc ドライバーの既知の制限です。

この既知の制限は、Oracle JDBC Driver リリース 11.1.0.7.0 のリリース ノートに従って修正されました。

于 2008-12-05T14:34:37.833 に答える
0

XML を Oracle に格納する場合は、XmlType 列を使用します。これは、CLOB に簡単に変換でき、JDBC 10g ドライバーとうまく連携します。これが現在、運用環境で使用されているものです。

于 2009-02-08T03:53:10.620 に答える
0

Oracle で long フィールドを使用するのはなぜですか? long は非常に時代遅れです。clob を使用する必要があります。

于 2008-12-04T22:57:55.417 に答える