次の行を含む 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
メッセージを見るたびに....
文字列型やバイナリは省略されます
考えてみてください...フィールドはデータを保持するのに十分な大きさではありません。
顧客テーブルのテーブル構造を確認してください。挿入しようとしているデータを格納するには、1 つ以上のフィールドの長さが足りないことがわかると思います。たとえば、Phone フィールドが varchar(8) フィールドで、そこに 11 文字を入力しようとすると、このエラーが発生します。