在输出日志输出失败之前,我得到了大约10次的错误Error - [Microsoft][SQL Native Client] String data, right truncation
。该错误与其相关的字段有点模糊。通常情况下,如果数据集真正处于第三范式,这不会成为问题。但是,该数据集具有超过125个字段,超过100,000条记录作为制表符分隔的txt文件。在这种情况下,找到有问题的数据将是一项相当艰巨的任务。 如何判断SQL 2k5 BCP在导入失败时抱怨哪个字段?如果我能找出哪个字段出错了,这将大大有助于缩小问题的范围。如何判断SQL 2k5 BCP在导入失败时抱怨哪个字段?
bcp db.dbo.table in "dataset.txt" -f "fmt.table.txt" -S instancename -U user -P password -o log.txt
是的,这是一个更大的故事,但为了简单起见,我对这个特定问题进行了限制。否则,进一步需要提出另一个问题。 :)
这取决于数据,定界表和命令运行。 您可以将bcp命令添加到问题中吗?你在使用格式文件吗? 它是一个字符串列。查看更宽的列的数据。它是否在第一行(任何标题之后)失败?查找表格中最短的列宽。 批量复制在失败之前会忽略前10个错误,因此它可能会影响更多的行。 –
所以我必须打开范围问题。这些是系统生成的(一个AIX财务处理系统)脚本和数据文件,将被加载到SQL Server中。它通过一系列T-SQL脚本提供了所有的创建表,约束和键。数据文件不包含标题,但包含格式文件。它还提供了所有BCP命令来复制数据库中的信息。更大的问题是应该无缝工作,但没有。 “dataset.txt”中的bcp db.dbo.table -f“fmt.table.txt”-S instancename -U用户-P密码-o log.txt' –
很多信息都在格式文件中。请粘贴文件和数据样本(只有几行,散列出任何敏感数据)。 –