我在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
我希望能够在发生错误时捕获以下错误:
Bulk load data conversion error (truncation)
但是,即使级别为16,但仍在try-catch范围内,我似乎也无法做到。我想知道是否有办法在发生此错误时捕获它。
在将
MAXERRORS
指定为1之前,我遇到了以下错误:Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
由于前一个错误更能说明问题,因此我要记录该错误。
最佳答案
尽管我的能力是Oracle,胜于SQL Server,但无论如何,我都会设法在某种程度上帮助解决此问题。自2010年以来,我发现您的情况已经存在于SQL Server的错误跟踪器中(错误ID:592960),状态为“无法修复”。您自己可以看到有关connect.microsoft.com的相应讨论(当前主机不可达,因此我使用了google cache)。
关于sql-server - SQL捕获大容量插入错误4863,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20356310/