SSMS批量插入=错误+这是哪一行?

尼拉斯·阿兰

我正在尝试使用SQL Server Management Studio插入大量数据这是我的工作:

  1. 我打开包含很多SQL插入的文件: data.sql
  2. 我执行(F5
  3. 我有很多这样的东西:

    (1 row(s) affected)
    

    以及其中一些:

    Msg 8152, Level 16, State 13, Line 26
    String or binary data would be truncated.
    The statement has been terminated.
    

问题:如何获取错误行号?第26行似乎不是正确的错误行号...

希门

多年来,这一直困扰着SQL Server开发人员。最后,使用带有跟踪标志460的SQL Server 2017 CU12,它们会为您提供更好的错误消息,例如:

消息2628,级别16,状态6,过程ProcedureName,行Linenumber字符串或二进制数据将在表'%。* ls'的列'%。* ls'中被截断。截断值:'%。* ls

现在解决此问题的方法是print在每次插入之后添加一条语句。然后,当您看到rows affected打印输出时,就可以看到所打印的内容。

...
insert into table1
select...

print 'table1 insert complete'

insert into table2
select...

print 'table2 insert complete'

这不会告诉您什么列,但是会将其范围缩小到正确的插入。SET NOCOUNT ON如果您不想打印受影响的行消息,也可以在脚本顶部添加

另外,如果您确实是在使用BULK INSERT,而不仅仅是使用一般术语,则可以指定ERRORFILE这将记录导致BULK INSERT命令错误的行重要的是要知道默认情况下,BULK INSERT如果有10个或更少的错误它将完成。您可以通过MAXERRORSBULK INSERT命令中指定来覆盖它

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

DapperPlus和Oracle,知道插入数据库时哪一行抛出错误

哪一行导致“operator==”错误

哪一行导致此量角器错误?

如何找到哪一行导致解包错误

批量插入错误数据

批量插入缺少最后一行?

批量插入时出现错误

pymssql批量插入错误(python)

行的列数错误,但我找不到哪一行

批量插入效率,用于插入一行的列表

Akka流错误处理。如何知道哪一行失败?

此代码中的哪一行出现“日期选择器不是函数”的错误?

C / C ++编译器如何知道错误在哪一行

批量插入同一行多次 (N)

elasticsearch.js批量插入错误

尝试在批量插入中未捕获错误

sis中的批量插入任务错误

格式化“溢出”到下一行:这是Excel 2013中的错误吗?

EOFError:读取一行时的EOF。这是什么错误,为什么会发生?

Tcl:有没有办法显示tcl中的哪一行引发错误?

如何输出文本文件中程序发现索引错误的哪一行?

尝试在表格中插入一行并创建触发器后出现这些错误

在oracle中插入一行时出现无效数字错误

允许数据框“金额”列中的最后一行作为插入值以解决舍入错误

当我尝试插入一行时,它给了我错误代码:1452

使用 DBMS 错误日志,如何将一个表中的值批量插入到另一个跳过(但记录)错误的表中?

如果为变量分配值,然后将其转换为值是第一个变量的变量,那么哪一行会首先产生错误?

为什么在插入第二行而不在第一行时出现MS SQL Server错误?

T SQL批量插入跳过第一行(带或不带标题)