如何暂时禁用LocalDB数据库进行连接失败测试?

时间:2017-05-12 10:36:34

标签: visual-studio visual-studio-2013 localdb

对于开发人员测试,我从Visual Studio 2013运行我的SQLServer数据库的LocalDB版本。我想测试当这个数据库无法访问在同一台机器上运行的C#应用​​程序时会发生什么 - 最好从VS调试。具体来说,在应用程序运行时变得无法访问,所以我可以“打开它”而无需重新启动我的应用程序并检查它是否正常处理。

我无法在VS中看到明显的“停止数据库”选项。我也不知道如何管理LocalDB实例...如果它仅在VS运行时存在?

如果数据库和应用程序在同一台计算机上运行,​​并且数据库作为LocalDB托管,而不是通过SQLServer(我没有安装),那么有什么方法可以做我想做的事情?

2 个答案:

答案 0 :(得分:0)

您可以将配置更改为连接字符串中的某个虚拟IP /主机或端口,而不是停止数据库。

答案 1 :(得分:0)

LocalDB 不适合测试这种情况。最好在实物上进行测试。

但是,如果您只是在制作原型,您可以:

  1. 首先测试应用程序在您终止其数据库连接时的响应方式。该应用将收到错误代码 596(或可能是 233)。
  2. 测试应用如何响应sqllocaldb stop <instancename> -k (它可能会看到错误代码 904 或 109;这是一个糟糕的测试,因为 localdb 几乎会立即自动重新启动)。
  3. 确保,也许通过源代码检查,应用程序同样不受错误代码 -2、-1 或 2 的影响,这是您在定期断开连接或从这些断开连接时恢复时可能会看到的。

虽然我列出了一些我看到的错误代码,因为您正在测试的应用程序(或其库)可能会做类似的事情,但我真的不建议针对单个错误代码进行编码。断开连接最好检测为严重性为 20 或更高的错误。

不要忘记在与您的生产条件相似的条件下进行最终测试。