【发布时间】:2010-11-02 23:41:32
【问题描述】:
有没有办法通过以某种方式包装 exec 语句在 JDBC 或 SQL 内部捕获 error 266?
我们正在寻求开发一种保护措施,以防止存储过程以一种常见的方式保持打开状态而退出。这有助于防止与连接池结合使用时可能导致严重问题的程序员错误。
【问题讨论】:
-
为存储过程提供模板不是更容易(也更有意义)吗?然后可以快速检查代码的正确性......
-
已经完成了,包括标准错误处理,但是由于SQL Server 2005没有try/catch/finally的概念,只是try/catch,所以可以注入中间简单返回的逻辑使交易保持打开状态的交易。我们需要更好的解决方案来检测和监控这些类型的错误。
-
@Scott Markwell:finally 就在“END CATCH”之后!
-
@gbn,可能存在代码转义,在捕获后不会立即运行代码。在真正的 try/catch/finally 模式中,它将在哪里运行。
-
@Scott Markwell:如果使用 TRY/CATCH,则不会:任何未能进入 CATCH 块的错误都意味着代码几乎从未运行或编译过
标签: sql-server sql-server-2005 jdbc transactions