VBS第三方程序(如SQL)中的错误处理

时间:2017-08-07 14:54:56

标签: sql-server xml vbscript error-handling

我必须开发一个WinCC Visual Basic脚本管理应用程序。在这个应用程序中,我读了一个XML存档,然后我通过SQL INSERT查询将信息放在SQL数据库中。

我的问题是,我不知道如何进行错误处理以查看VBScript ActiveSheet.Cells.AutoFilter Field:=16, Criteria1:="Crit_1" 中的SQL错误。

使用MsgBox激活错误处理,并在使用On Error Resume Next评估这些错误后,SQL Server中产生的错误不会出现在VBScript中。

1 个答案:

答案 0 :(得分:0)

如果您想获得SQL Server错误,可以使用带有事务的存储过程将数据插入表中:

create procedure dbo.InsertTable (
 @param1 nvarchar(80)
,@param2 nvarchar(80)
,@error_text nvarchar(400) output)
as
begin
begin tran
        begin try
                insert into YourTable (column1, column2)
                values (@param1, @param2)
        end try
        begin catch
                    set @error_text = error_message()
                    rollback
                    return
        end catch 

commit
end

现在,您将从输出参数@error_text

中获得最终错误
declare @error_text nvarchar(400)
exec dbo.InsertTable 'Value1','Value2', @error_text output

select @error_text