Home > プログラミング > ADO.NET Archive
ADO.NET Archive
【ADO.NET】SqlParameterのサイズプロパティ
- 2006年8月20日 20:57
共通的なDataAccessクラスを作成していたところ、エラーが発生したので公開します。
エラー内容
着信の表形式のデータ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが不適切です。パラメータ 8 ("@HOGE"): データ型 0xE7 に、無効なデータ長またはメタデータ長が指定されています。
該当箇所のソースコードは以下のとおり
DbParameter dataParamArray = new DbParameter();
dataParamArray.ParameterName = "@HOGE";
dataParamArray.Direction = ParameterDirection.Input;
dataParamArray.Size = 8000;
dataParamArray.Value = "TEST";
プロパティをいろいろいじって調べてみると、どうやら dataParamArray.Size に大きな数値を入れると異常終了することが判明しました。
そこでMSDNで調べてみたところ、dataParamArray.Size や dataParamArray.Type は特に設定する必要は無く、dataParamArray.Value によって自動的に判別されるとのこと。
実際、dataParamArray.Sizeを削除したところ、正常に動作しました。
- Comments: 0
- TrackBacks: 0