当前位置: 首页 > 面试题库 >

错误,尝试插入时字符串或二进制数据将被截断

芮意
2023-03-14
问题内容

我正在运行以下行的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?


问题答案:

来自@gmmastros的答案

每当您看到消息时…

字符串或二进制数据将被截断

想一想…这个领域还不够大,无法保存我的数据。

检查客户表的表结构。我认为您会发现一个或多个字段的长度不足以容纳您要插入的数据。例如,如果“电话”字段是varchar(8)字段,而您尝试在其中输入11个字符,则会出现此错误。



 类似资料:
  • 问题内容: 这一定很明显,但我无法弄清楚。我为此花了将近一整天。我很乐意给减轻我体重的人买啤酒。 这是我的代码。我看到字节数组大小不合适,但是我找不到正确的大小。除此之外,内容也不是不正确的。似乎只有文字字符可以。 似乎从二进制文件中删除数据确实很痛苦,我真的很沮丧。 还有一件事:文件内容不是文本,可以是图片,视频或pdf之类的东西。 问题答案: 如果你正在读一个二进制文件,你应该 不 尝试把它当

  • 我有mysql中的表,表看起来像 当我试图使用 它抛出错误 错误代码: 1265年。第 1 行“拾取 ID”列的数据被截断 我正在使用MySQL 5.2

  • 我如何将一个写为二进制的字符串转换为二进制(字节数组)? 如果我有一个字符串: 下面是当我将二进制设置为字节数组时发生的情况(字节数组返回48,这是ASCII) 我不擅长解释,所以希望上面的例子足以告诉你我想要什么。

  • 我是初学C#的,我想为学校创建一个计算器,但是在第45行出现了一个错误。错误消息:字符串长度必须正好为一个字符。我认为在拆分String数组然后另存为char数组之后会有一个错误。但我不知道为什么,也许是假的。 代码部分: 错误消息由char[]发送。 我想我有一个从字符串[]分裂的翻译错误

  • 问题内容: 我想将十六进制字符串转换为二进制字符串。例如,十六进制2是0010。下面是代码: 但是,这仅适用于十六进制0-9;它不适用于十六进制A-F,因为它使用。谁能增强它? 问题答案: 您需要告诉Java int是十六进制的,如下所示:

  • 问题内容: 这是我的连接设置方式: 尝试在表中添加行时出现以下错误: 我要插入数千条记录,并且当文本包含\ xF0时,总是会出现此错误(即,不正确的字符串值始终以\ xF0开头)。 该列的排序规则是utf8_general_ci。 可能是什么问题呢? 问题答案: MySQL的许可仅允许使用UTF-8中的3个字节表示的Unicode字符。在这里,您需要一个需要4个字节的字符:\ xF0 \ x90