一尘不染

是否可以在不指定数据库的情况下连接到SQL Server?

sql

我正在尝试为我的代码编写一些单元测试,这些代码可以连接到SQL Server以实现持久性,但是我希望能够通过将其指向SQL
Server实例来运行单元测试,并让测试创建自己的数据库来运行测试,因此在每次测试之后,它都可以删除数据库,然后在设置之前先创建下一个测试,然后再重新创建它,因此我知道之前的测试没有剩余的旧数据或结构会影响下一个测试。


阅读 169

收藏
2021-03-08

共1个答案

一尘不染

简而言之:不,您不能那样做。您也许可以从连接字符串中省去数据库,但是在那种情况下,将与连接到SQL Server的登录名的已配置 默认数据库
建立连接(并且该默认数据库在连接时必须存在)。制成)

如果您想要这种情况,则需要

  1. 首先连接到您的实例和数据库,master然后创建新的实例testdb(或称为它的任何实例)

  2. 断开

  3. 在测试中,连接到实例和testdb数据库

更好的是:使用某种模拟框架,这样您在测试场景中甚至不需要实际的数据库!

2021-03-08