我在 try - catch 块内有一个批量插入:
BEGIN TRY
BULK INSERT dbo.EQUIP_STATUS_CODE
FROM 'filepath\filename.csv'
WITH ( MAXERRORS = 1, FIELDTERMINATOR = ',')
END TRY
BEGIN CATCH
EXECUTE dbo.ERROR_LOG_CSV;
END CATCH
我希望能够在发生以下错误时捕获它:
批量加载数据转换错误(截断)
但似乎我不能,即使级别是 16,属于 try-catch 范围。我想知道是否有办法在发生此错误时捕获该错误。
在我指定之前MAXERRORS
到 1 我收到此错误:
无法从链接服务器“(null)”的 OLE DB 提供程序“BULK”获取行。
由于前一个错误更能描述问题,这就是我想记录的错误。
尽管我的能力更偏向于 Oracle,而不是 SQL Server,但无论如何我会尝试以某种方式帮助解决这个问题。我发现你的情况自2010年以来已经在SQL Server的bugtracker中(bug id:592960),状态为“不会修复”。你可以看到相应的讨论连接.microsoft.com你自己(目前主机无法访问,所以我使用谷歌缓存).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)