0
 INSERT INTO [CVSUAT].[dbo].[UserLevel ]( 
  [Client_ID]
  ,[User_Level_Name]
  ,[User_Level_Description]
  ,[Created_by]
  ,[Created_Date]
  ,[Modified_by]
  ,[Modified_Date]
  ,[Delete_Flag]
  ,[Deactivate_Flag]) VALUES ('sndbsndbsdnbsndbsnbdnsbdn23','Client','','Client','2013-03-12 21:31:38.437','Client','2013-03-12 21:31:38.437','0','0')

メッセージ 8152、レベル 16、状態 4、行 1 文字列またはバイナリ データは切り捨てられます。ステートメントは終了されました。

ここに画像の説明を入力

注:以前からそのように作成されたため、私のテーブルにはスペース [UserLevel ] があります

4

1 に答える 1

1

これは、列に大量のデータを入れようとしたことが原因です。

問題は、例で指定された値のいずれも、スキーマの図に示されている列に対して大きすぎるということではありません。したがって、あなたが私たちに与えた値が真の値ではないか、そのテーブルにトリガーがあり、それが実際にエラーを引き起こしていると思います。

余談ですが、Delete_FlagandDeactivate_Flag列のデータ型は bit ではなく、char(1)?

編集:

ああ、もう 1 つ - Client_IDnvarchar と同様に、おそらくそこに Unicode データを格納する必要があります。スクリプトでこれを示すには、次のように文字列に "N" プレフィックスを使用する必要があります。

INSERT INTO [CVSUAT].[dbo].[UserLevel ]( 
  [Client_ID]
  ,[User_Level_Name]
  ,[User_Level_Description]
  ,[Created_by]
  ,[Created_Date]
  ,[Modified_by]
  ,[Modified_Date]
  ,[Delete_Flag]
  ,[Deactivate_Flag]) VALUES (N'sndbsndbsdnbsndbsnbdnsbdn23','Client','','Client','2013-03-12 21:31:38.437','Client','2013-03-12 21:31:38.437','0','0')
于 2013-02-06T09:41:27.297 に答える