我正在编写一个连接到Sql server 2008的VB.net winforms应用程序。(C#答案也被接受)
我试图区分与数据库连接相关的任何SqlExceptions和其他SQL特定错误(例如错误的语法等)。
我在连接中使用try / catch,如下所示:
Try
//code to open the connection/access the DB/etc.
Catch ex As SqlException When ex.Number=???
//Do stuff
End Try
我认为检查错误代码是正确的方法。我的问题是有许多不同的错误代码(我不确定有多少)与数据库的连接有关。例如:
121 =超时(可能是由于与网络断开连接造成的)。
53 =无法连接(再次,可能是因为没有连接到网络)。
1326 =您已连接到物理服务器计算机,但Sql Server未运行。
我相信还有很多甚至更多。我是否必须单独检查每一个或者有更好的方法吗?如果我必须单独检查它们,是否有可以参考的任何地方的连接相关列表?
答案 0 :(得分:0)
正如@jdweng在注释中建议的那样,我在查询周围添加了一个try / catch块。这样一来,如果发生异常,除了与连接有关,别无其他。
那么简单!再次感谢。