2010-08-12 136 views
0

我正在对我的项目进行单元测试。在一种情况下,我必须停止sql服务器并验证我的应用程序是否可以优雅地处理这种异常。sql服务器重新启动后SQL服务器连接失败

但我发现在这个测试用例运行后,如果测试用例需要访问数据库,任何测试用例运行后都会失败。错误是'运输水平错误'。

在每个测试案例中,我将设置一个新的sql连接并优雅地关闭它。我认为测试案例是非常好的。我不明白为什么重新启动SQL服务器会导致这样的错误。

目前,我将不得不重新启动后自己击中sql服务器。我认为这确实是一个丑陋的解决方案。

+0

你可以在每个测试中显示连接到sqlserver的代码吗? – Kangkan 2010-08-12 05:21:28

+0

所以要清楚,你停止SQL Server的一个测试用例,重新启动它,等待它开始(!)的合理时间,然后运行后续测试? – 2010-08-12 05:22:46

+3

零接收率是一个主要的威慑力量。 – Kangkan 2010-08-12 05:23:10

回答

0

这是正常现象。重新启动SQL Server意味着所有连接都会被终止,包括应用程序(可能是连接的)连接。我认为你只需要处理这个错误并重试。无可否认,这是一种痛苦。

+0

是的,我猜它有一些与sql连接池有关的事情。但我想在重新启动sql服务器之后,连接池应该都是无效的,并且sql server不应该返回给我的池连接。 – davidshen84 2010-08-13 10:46:42