checkpoint

自分用のIT技術系ノートです。古い情報や間違っている情報もあるので注意。

FakeWorkTable


SQL Server 2005 + .NETアプリでこんなエラーが出たよ!

System.Data.SqlClient.SqlException: 4 バイトの内部オーバーヘッドを含めて、最小行サイズが 16017 になるので、テーブル 'FakeWorkTable' を作成または変更できませんでした。このサイズは、テーブル行の最大許容サイズの 8094 バイトを超えています。


「FakeWorkTable」でググって見てもMicrosoftのヘルプはおろか、日本語のサイトが見つからない有様。
探せど探せど英語のフォーラムばっかり。しかも頑張って読んでも大したこと書いていなかったり。

よく調べてみるとSqlParameterオブジェクトのSizeプロパティを明示的に指定しない状態で、空文字を値に放り込んだ場合に限り発生している模様。(型指定はChar)

理由はよくわからないけど、Sizeを実際のDB上の文字長に指定すれば解決しました。
ここんとこ詳しく説明してくれる人いないかな。

広告を非表示にする