标题基本概括了所有内容。我想创建一个 SqlConnection 然后在不打开数据库的情况下检查该连接,因为那时我还不知道我将连接到哪里。有可能这样做吗?SqlConnection 类有一个“Open”成员,它试图打开您在 Database 属性中设置的数据库,如果您没有设置,SqlServer 会尝试使用主数据库。问题是我试图连接的用户(MACHINE\ASPNET)可以访问一些数据库(我还不知道)而不是主数据库。
问候, 塞巴
标题基本概括了所有内容。我想创建一个 SqlConnection 然后在不打开数据库的情况下检查该连接,因为那时我还不知道我将连接到哪里。有可能这样做吗?SqlConnection 类有一个“Open”成员,它试图打开您在 Database 属性中设置的数据库,如果您没有设置,SqlServer 会尝试使用主数据库。问题是我试图连接的用户(MACHINE\ASPNET)可以访问一些数据库(我还不知道)而不是主数据库。
问候, 塞巴
连接到临时数据库。每个人都可以访问 tempdb,因此您将能够验证自己的访问权限。稍后当您知道实际的数据库时,您可以更改此属性以连接到您想要的数据库。
我不确定这是否是您需要的。
检查用户是否有权访问 Sql Server 2005 中的数据库
SELECT HAS_DBACCESS('Northwind');
HAS_DBACCESS 返回有关用户是否有权访问指定数据库 (BOL) 的信息。
查找当前用户有权访问的所有数据库
SELECT [Name] as DatabaseName from master.dbo.sysdatabases
WHERE ISNULL(HAS_DBACCESS ([Name]),0)=1
ORDER BY [Name]
如果您只需要知道服务是否处于活动状态,您可以尝试通过套接字连接到端口,以查看它是否打开
只是好奇...如果您不知道需要连接的精确数据库,您可以验证哪些信息?“真实”数据库可能出现的许多问题都无法通过这种测试连接进行测试,例如连接性或安全性。
我不知道您是否得到了答案,但是当我们都在这里寻找答案时,我希望这就是您要寻找的
dim con as new sqlconnection
con.connectionstring="<<put your conn string here>>"
'try...catch block fires exception if the con is not successfully opened
try
con.open()
catch ex as exception
msgbox ex.message
end try