SqlConnectionStringBuilder.AttachDBFilename 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置包含主数据文件名称的字符串。 该字符串包括可附加数据库的完整路径名。
public:
property System::String ^ AttachDBFilename { System::String ^ get(); void set(System::String ^ value); };
public string AttachDBFilename { get; set; }
member this.AttachDBFilename : string with get, set
Public Property AttachDBFilename As String
属性值
为 AttachDBFilename
属性的值,或者,如果未提供任何值,则为 String.Empty
。
例外
若要将值设置为 null,请使用 Value。
示例
以下示例创建一个新 SqlConnectionStringBuilder 实例,并设置 AttachDBFilename
属性以指定附加数据文件的名称。
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
try
{
string connectString =
"Server=(local);" +
"Integrated Security=true";
SqlConnectionStringBuilder builder =
new SqlConnectionStringBuilder(connectString);
Console.WriteLine("Original: " + builder.ConnectionString);
Console.WriteLine("AttachDBFileName={0}", builder.AttachDBFilename);
builder.AttachDBFilename = @"C:\MyDatabase.mdf";
Console.WriteLine("Modified: " + builder.ConnectionString);
using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
{
connection.Open();
// Now use the open connection.
Console.WriteLine("Database = " + connection.Database);
}
Console.WriteLine("Press any key to finish.");
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
注解
此属性与连接字符串内的“AttachDBFilename”、“extended properties”和“initial file name”键相对应。
AttachDBFilename
仅支持扩展名为 .mdf 的主数据文件。
如果在连接字符串中指定了 AttachDBFileName 键的值,则附加数据库并成为连接的默认数据库。
如果未指定此键,并且以前附加了数据库,则不会重新附加该数据库。 以前附加的数据库将用作连接的默认数据库。
如果此键与 AttachDBFileName 键一起指定,则此键的值将用作别名。 但是,如果该名称已在另一个附加数据库中使用,则连接将失败。
通过使用 DataDirectory 替换字符串,路径可以是绝对路径或相对路径。 如果使用 DataDirectory,则数据库文件必须存在于替换字符串指向的目录的子目录中。 注意: 不支持远程服务器、HTTP 和 UNC 路径名称。
必须使用关键字 (keyword) “database” (或其别名之一) 指定数据库名称,如下所示:
"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"
如果日志文件和数据文件存在于同一个目录中,并且在附加主数据文件时使用“database”关键字,则将生成错误。 在这种情况下,请移除日志文件。 附加数据库后,将基于物理路径自动生成一个新日志文件。