当前位置:  开发笔记 > 数据库 > 正文

Sql SMO:如何获取数据库物理文件名的路径?

如何解决《SqlSMO:如何获取数据库物理文件名的路径?》经验,为你挑选了1个好方法。

我试图返回数据库的mdf/ldf文件的物理文件路径.

我尝试使用以下代码:

Server srv = new Server(connection);
Database database = new Database(srv, dbName);

string filePath = database.PrimaryFilePath;

但是这会引发异常"'database.PrimaryFilePath'引发类型'Microsoft.SqlServer.Management.Smo.PropertyNotSetException'的异常 - 即使我正在运行此数据库的数据库存在,并且其mdf文件位于c:\ Program Files\Microsoft SQL Server\MSSQL.1\MSSQL

我究竟做错了什么?



1> Noah..:

通常问题是DefaultFile属性为null.除非FileName属性中另有指定,否则缺省数据文件是数据文件存储在SQL Server实例上的位置.如果未指定其他默认位置,则属性将返回空字符串.

因此,如果未设置默认位置,则此属性不会返回任何内容(空字符串).

解决方法是检查DefaultFile属性,如果它返回空字符串,则使用SMO获取master数据库,然后使用Database.PrimaryFilePath属性检索默认数据文件位置(因为它没有更改)

既然你说问题与你的PrimaryFilePath有关:

确认您的连接已打开

确认其他属性可用

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有