0

VS2008とSQL-Server2005を使用してプロジェクトを開発しています。varchar(150)通常の文字列を保存するために-fieldを使用しましたが、保存する必要があります

  1. ソフトコピー
  2. ハードコピー
  3. 両方(ソフトコピーとハードコピー)

ソフトコピーまたはハードコピーとして保存する場合は機能しますが、両方(ソフトコピーとハードコピー)の場合、次のエラーがスローされます。

文字列またはバイナリデータは切り捨てられます。ステートメントは終了されました。

このエラーが発生した後にアプリケーションを再起動すると、すべてが正常に機能します。

同じフィールドで使用しようとしNvarchar(Max)ましたが、エラーはすべて同じでした。

このエラーを回避するための提案をお願いします。

4

4 に答える 4

1

エラーは、対応できるサイズよりも大きなサイズで列を更新していることを示しています。列の値に空白がないかどうかを確認します

于 2013-02-05T12:04:43.500 に答える
0

この例外は、データ型、サイズがデータベース フィールドの属性と一致しない場合に発生します。

列の長さが挿入データよりも短いことが原因である可能性があります。

そのため、列の長さを入力したデータを占めることができる長さにすると、問題は解決されます。

(Unicode 文字データ) データ型を使用する場合は、次のように Prefix としてNvarcharデータを挿入する必要があります。N'

Set @var = N'Hello World'
于 2013-02-05T12:05:18.923 に答える
0

string or binary data would be truncate. The statement has been terminatedサイズを超えるとエラーになります。からサイズを更新してみてくださいvarchar(150) to varchar(500)

または、dbに保存されたフィールドに値を割り当てるクエリまたはストアドプロシージャでデータ長を確認します(参照:変更してnvarchar(max)も機能しません)。

于 2013-02-05T12:05:34.137 に答える
0

これは、サイズが制限されているフィールド (この場合は 150) に大量のデータを挿入しようとすると発生します。

于 2013-02-05T12:05:57.533 に答える