如何检查DB的存在?

Mar*_*tin 5 c# sql database sql-server connection-string

我想知道是否有一种优雅的方法来检查数据库是否存在?简而言之,如何测试db连接字符串的连接?

谢谢

Meh*_*ari 17

设置Initial Catalog=master在连接字符串中,并执行:

select count(*) from sysdatabases where name = @name
Run Code Online (Sandbox Code Playgroud)

@name设置为数据库的名称.

如果要将连接字符串作为一个整体检查(并且不存在独立数据库),请尝试在try/catch块中连接它.


Mar*_*ell 5

为了涵盖可能性的范围(服务器不存在,数据库不存在,没有登录,没有权限,服务器关闭等) - 最简单的想法就是尝试正常连接,并执行一些琐碎的事情 -SELECT GETDATE()例如。如果出现异常,那就有问题了!

有时(尤其是在处理进程外系统时)这try/catch是最务实的选择。