エラー、文字列またはバイナリデータを挿入しようとすると切り捨てられます質問する

エラー、文字列またはバイナリデータを挿入しようとすると切り捨てられます質問する

次の行を含む data.bat ファイルを実行しています:

Rem Tis batch file will populate tables

cd\program files\Microsoft SQL Server\MSSQL
osql -U sa -P Password -d MyBusiness -i c:\data.sql

data.sql ファイルの内容は次のとおりです。

   insert Customers
            (CustomerID, CompanyName, Phone)
             Values('101','Southwinds','19126602729')

レコードを追加するための同様の行がさらに 8 行あります。

startこれを> run> cmd>で実行するとc:\data.bat、次のエラー メッセージが表示されます。

1>2>3>4>5>....<1 row affected>
Msg 8152, Level 16, State 4, Server SP1001, Line 1
string or binary data would be truncated.

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

また、私は明らかに初心者ですが、、、Level #はどういうstate #意味ですか。また、上記のようなエラー メッセージ 8152 をどのように調べればよいですか。

ベストアンサー1

から@gmmastros の回答

メッセージを見るたびに....

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

考えてみてください...フィールドはデータを保持するのに十分な大きさではありません。

顧客テーブルのテーブル構造を確認してください。挿入しようとしているデータを格納するには、1 つ以上のフィールドの長さが足りないことがわかると思います。たとえば、Phone フィールドが varchar(8) フィールドで、そこに 11 文字を入力しようとすると、このエラーが発生します。

おすすめ記事