我试图找出数据库在服务器上的驱动器。更详细地说,该服务器上有一个服务器“MyServer”和三个数据库。数据库 A 和 B 位于该服务器的“C:\”驱动器上,数据库 C 位于“D:\”驱动器上。我想知道如何使用连接字符串来尝试获取驱动器号,以便当用户从应用程序中选择数据库时,它会告诉他们该数据库位于哪个驱动器上。
目前我正在尝试以下方法,但没有得到正确的响应:
Private void GetDriveLetter()
{
string connectionString = String.Format(DatabaseInfo.CONNECTIONSTRING_TEMPLATE, dbName, server)
try
{
using (SqlConnection cn = new SqlConnection(ConnectionString))
{
cn.Open();
Server srv = new Server(new ServerConnection(cn));
Database database = new Database(srv, dbName);
txtDriveLetter.Text = database.PrimaryFilePath;
cn.Close();
}
}
catch (Exception ex)
{
myException = ex.Message
}
}
DatabaseInfo 只是我们用来读取 SQL Server 和数据库名称的一个类,而 myException 是一个将异常写入日志文件的函数。我遇到的问题是,无论我做什么,我都会收到一个异常,提示 PrimaryFilePath 从未设置。我做错了什么/错过了什么,或者这不是解决这个问题的正确方法?
编辑:抱歉从未发布异常要完成此操作,请设置属性 PrimaryFilePath。