我正在运行以下行的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,我收到此错误信息:
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?
Level #
state #
来自@gmmastros的答案
每当您看到消息时…
字符串或二进制数据将被截断
想一想…这个领域还不够大,无法保存我的数据。
检查客户表的表结构。我认为您会发现一个或多个字段的长度不足以容纳您要插入的数据。例如,如果“电话”字段是varchar(8)字段,而您尝试在其中输入11个字符,则会出现此错误。