获取VB.Net中的默认SQL Server目录

时间:2009-10-16 12:34:16

标签: .net sql-server vb.net

我猜SQL Server文件的默认路径位于:

C:\ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ DATA

有没有办法用.NET Framework读取默认目录?

3 个答案:

答案 0 :(得分:1)

以下内容将为您提供在连接字符串中指定的SQL Server的安装文件夹(即C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL):

Dim connectionString As String = "whatever..."
Dim serverConnection As New ServerConnection(connection)
Dim server As New Server(serverConnection)
Dim installationDirectory As String = server.Information.RootDirectory

这些类都属于SQL Server Management Objects (SMO)

可以找到RootDirectory的MSDN文档here。在提供给ServerConnection的连接字符串中指定正确的SQL Server实例将确保获取正确实例的目录。

答案 1 :(得分:0)

这是a link

  

该值的实际注册表位置   将取决于您的设置和   你拥有的SQL版本   安装。你正在寻找的标签   是SQLDataRoot。在我的机器上,它是   位于以下节点中:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup

所以你可以使用.Net library遍历注册表,获取相关密钥,探测它,获取更多密钥,直到你找到正确的密钥和正确的值。

答案 2 :(得分:0)

您可以使用FileDirectory类的共享方法读取文件和目录。

您可以通过运行以下SQL找到特定数据库的路径:SELECT Filename FROM Sysdatabases WHERE name = 'MyDB'