我正在尝试返回数据库的 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:\程序文件\Microsoft SQL Server\MSSQL.1\MSSQL
我究竟做错了什么?
通常问题是 DefaultFile 属性为 null。默认数据文件是数据文件在 SQL Server 实例上的存储位置,除非 FileName 属性中另有指定。如果未指定其他默认位置,该属性将返回空字符串。
因此,如果您没有设置默认位置,则此属性不会返回任何内容(空字符串)。
解决方法是检查 DefaultFile 属性,如果它返回空字符串,请使用 SMO 获取主数据库,然后使用 Database.PrimaryFilePath 属性检索默认数据文件位置(因为它尚未更改)
既然你说问题出在你的 PrimaryFilePath 上:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)