4

フィールドのマッピングに問題がありbyte[]ます。私はいくつかの解決策を探していましたが、今のところうまくいきません。私が得るのはこの例外だけです:

The length of the byte[] value exceeds the length configured in the mapping/parameter.

以下は、私がこれまでに得たものですhbm.xml

<property name="Data" type="BinaryBlob">
    <column name="attachmentData" sql-type="varbinary(max)"/>
</property>

私はここで何かをしていませんか?

更新 - 解決策:

私のやり方が間違っていたことが判明しました。byte[]viaストアド プロシージャを挿入しているので、プロパティ マッピングはそれとは関係ありません。代わりに、NHibernate に sprocs パラメータの型を次のように伝える必要があります。

query.SetParameter(param.Key, param.Value, NHibernateUtil.BinaryBlob);
4

1 に答える 1

4

NHibernate は varbinary(max) を理解せず、デフォルトの 8000 バイトを使用します。

したがって、番号を指定する必要があります。いえ

varbinary(2147483647)

以前は機能していたと思いますが、回帰バグです。

于 2013-04-09T05:45:09.933 に答える