sql-server - SQL捕获大容量插入错误4863

标签 sql-server error-handling try-catch

我在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/

相关文章:

java - 如何解决 SQLServerException : Invalid object name?

error-handling - PHP error_log文件

php - 如何使用 PHP/MySQLi 正确运行和检查参数化数据库查询

c++ - 如何避免在 catch block 中编写重复代码?

python - 在for循环内尝试/Except行为异常

c# - 将日志文件的日期转换为字符串,然后将数据库的字符串转换为日期时间

java - MyBatis 在一个查询中删除-插入-更新

sql - 为什么 char(13)+char(10) in for xml path ('' ) 不起作用?

python - 在python中输入文件的语法无效

java - 如果我的父类抛出异常,我的子类必须捕获它吗?