我有sql server2000 encypted存储过程。我无法修改它们。 Typicaly所有的过程使用游标等逐行操作不同的表。
当在查询分析器屏幕上执行存储过程时,我看到错误被抛出,但程序一直持续到所有记录都被处理完毕。客户端可以接受此行为。
我现在需要使用VB.net 2002 Windows应用程序自动执行该过程。我从vb.net调用该过程但该程序在存储过程中第一次出现错误时抛出运行时错误。
任何人都可以指导我如何处理和编程错误处理,以便继续处理直到处理完所有记录。我将非常感谢你的帮助。
答案 0 :(得分:0)
我不确定如何在.Net 1.0中执行此操作。
在2.0及更高版本中,我将连接的FireInfoMessageEventOnUserErrors
属性设置为True并处理`InfoMessage事件。但是,对MSDN的快速检查表明它们分别在.Net 2.0和1.1之前无法使用。
答案 1 :(得分:0)
由于存储过程已加密,因此无法对其进行修改。一种选择是创建另一个存储过程作为加密存储过程的包装器。
示例...伪TSQL
CREATE PROCEDURE MyWrapperProc
(
@MyParameters somedatatypes
)
EXEC MyEncrytedStoreProc @MyParameters
然后使用Wrapper proc更改您的VB.NET调用。 SQL 2000中没有TRY-CATCH。我认为这应该允许加密的proc运行,而不会出现错误冒泡到你的VB.NET代码,除非你明确提出错误。