0

5500 文字を超える文字列値を MSSQL 2008 データベースに挿入しようとしています。エラーが発生します

文字列型やバイナリは省略されます。

列のデータ型が nvarchar(max) と宣言されているにもかかわらず、これらの値を挿入しようとすると。入れる紐のサイズに上限はありますか?もしそうなら、この問題の解決策は何ですか?

編集

mgmt studio を介してデータを手動で入力すると、機能します。ただし、JDBCドライバーと準備済みステートメントを介して更新を実行しています。

私のクエリは次の形式です。

UPDATE table SET columnX = value1 WHERE columnX = value2;
  • このステートメントをバッチに追加し、1000 ステートメントごとに 1 回実行します。
  • この場合の value1 には大量の文字が含まれています。
  • columnX は間違いなく nvarchar(max) として定義されています
4

1 に答える 1

0

Microsoft は、SQLServerPreparedStatement を使用して varchar(max) のような大きな値の型を変更することをお勧めします。 http://msdn.microsoft.com/en-us/library/ms378813.aspx

JDBC/Pentaho で同様の問題が発生したときに、ストアド プロシージャを使用して問題を解決することもできます。

タスクを満たすストアド プロシージャを sql-server に記述することができます。そして、そのストアド プロシージャを Java コードから呼び出すだけです。

それが役立つことを願っています!

于 2012-01-31T12:05:58.360 に答える