私は NHibernate 3.3 と ODP.NET を使用して Oracle11g データベースに永続化しています。これは、以下に関連する構成のセクションです。
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
byte[] プロパティを BLOB フィールドにマッピングし、次のように挿入ストアド プロシージャを実行するブロックを設定しています。
<class name="Digital" table="DIGITALS">
<id name="Id" column="COD_DIGITAL">
<generator class="increment" />
</id>
<property name="File" column="FILE" />
<sql-insert>begin PKG_DIGITALS.insert_sp(?,?); end;</sql-insert>
デジタルエンティティは、サイズが 32k 以下のファイルで正常に保持されます。しかし、サイズが 32k を超えるファイルで [ORA-01460: 実装されていない、または不当な変換が要求されました] というエラーが発生します。
ドライバーの制限ですか?どうすればこれを回避できますか?