- 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
- TrackBack URL for this entry
- http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/126
- Listed below are links to weblogs that reference
- 【ADO.NET】SqlParameterのサイズプロパティ from 爆裂!C#野郎