SQL Server链接服务器尝试捕获不起作用

时间:2017-08-17 10:39:57

标签: sql sql-server-2008

我们正尝试使用链接服务器将一些数据从SQL Server发布到Oracle。数据有时会正确插入,但有时会失败。不知道为什么会失败。

我在SQL Server存储过程中保留了一个TRY catch块,但是没有捕获。你能帮帮我吗?

在这方面浏览了几个网站,但不知怎的,它没有用

我的代码:

INSERT INTO OPENQUERY (SomeDB, 'SELECT a, s, d, f, e FROM XYZ')  
    SELECT
        a, s, d, f, @e
    FROM    
        @tbltest

2 个答案:

答案 0 :(得分:0)

你可能想要一个像这样的结构

BEGIN TRY 
    INSERT INTO [database]..[Table]([Column1], [Column2], [Column3])
       SELECT 
           [Column1], [Column2], [Column3] 
       FROM 
           [database]..[SourceTable] 
END TRY
BEGIN CATCH
     INSERT INTO [database]..[ErrorTable]([Column1], [Column2], [Column3])
        SELECT 
            [Column1], [Column2], [Column3] 
        FROM [database]..[SourceTable]
END CATCH

答案 1 :(得分:0)

你可以试试这样的事情

BEGIN TRY 
    INSERT INTO [database]..[Table]([Column1], [Column2], [Column3])
       SELECT 
           a, s, d, f, e
       FROM 
           LINE_INTG.STG_PRDCTN_RUN_SHIFT_DTL 
END TRY
BEGIN CATCH
     INSERT INTO [database]..[ErrorTable]([Column1], [Column2], [Column3])
        SELECT 
            a, s, d, f, e 
        FROM LINE_INTG.STG_PRDCTN_RUN_SHIFT_DTL
END CATCH