2008-09-23 38 views
3

我们使用SQL 2005和try-catch功能来处理数据库中的所有错误处理。我们目前正在部署.NET CLR函数来在数据库中创建一些WCF调用。这个WCF过程写在CLR中,然后部署到SQL。如果我在CLR代码中放置一个try-catch块,它会发现错误。但是,我似乎无法将错误提交给SQL中的try-catch块。 SQL似乎忽略了我抛出的东西,并捕获它找到的错误。有两个(即我不能从一个到另一个扔?)SQL Try-Catch块可以处理抛出的CLR错误吗?

如果我可以从CLR到调用过程中的SQL内扔,是任何特殊格式需要没有关系?我尝试了一个捕获抛出的错误的特定情况,然后抛出一个不同的错误,但是SQL忽略了我抛出的错误并且捕获了原始错误,就好像它忽略了抛出的错误。

回答

2

这里是一个博客贴子,讨论它在highish级别: Exception handling in SQLCLR

当SQL Server执行的CLR实现的用户功能/程序/触发器(即托管代码),我们将安装一个管理用户代码周围的异常处理程序。所以如果用户代码泄露了一个异常,服务器将会捕获它并抛出包含用户异常的TSQL异常。

这似乎意味着,这将只是工作。

相关问题