1

任意の列からパラメーターとして値を取得する CLR ストアド プロシージャがあります。タイプがobject / sql_variantの場合、すべての可能な列をパラメーターで処理するには、次のようにします。

[SqlFunction]  
public static bool IsTrue(object storedValue...

タイプの列からデータを渡すと、次のnvarchar(max)ようになります。

「オペランド型の衝突: nvarchar(max) は sql_variant と互換性がありません」。

パラメータが文字列だった場合は、長さ > 4000 の列を受け入れるように宣言するSqlCharか、装飾することができます。オブジェクトに対してはどのように行われますか?[SqlFacet(MaxSize=-1)]

4

1 に答える 1

1

あなたが試みていることを達成できるとは思いません。sql_variant の上限は8k バイトです。nvarchar(max) の上限2^31-1 バイト です。SQL Server は、テキサス州をディクシー カップに詰め込もうとしている可能性があることを検出しています。8k sql_variant の制限により、SQL Server にそれを許可するデコレータは存在しません。

于 2011-03-16T19:02:55.457 に答える