SqlConnectionStringBuilder.AttachDBFilename Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a string that contains the name of the primary data file. This includes the full path name of an attachable database.
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
Property Value
The value of the AttachDBFilename
property, or String.Empty
if no value has been supplied.
Exceptions
To set the value to null, use Value.
Examples
The following example creates a new SqlConnectionStringBuilder instance, and sets the AttachDBFilename
property in order to specify the name of an attached data file.
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);
}
}
}
Remarks
This property corresponds to the "AttachDBFilename", "extended properties", and "initial file name" keys within the connection string.
AttachDBFilename
is only supported for primary data files with an .mdf extension.
If the value of the AttachDBFileName key is specified in the connection string, the database is attached and becomes the default database for the connection.
If this key is not specified and if the database was previously attached, the database will not be reattached. The previously attached database will be used as the default database for the connection.
If this key is specified together with the AttachDBFileName key, the value of this key will be used as the alias. However, if the name is already used in another attached database, the connection will fail.
The path may be absolute or relative by using the DataDirectory substitution string. If DataDirectory is used, the database file must exist within a subdirectory of the directory pointed to by the substitution string. Note: Remote server, HTTP, and UNC path names are not supported.
The database name must be specified with the keyword 'database' (or one of its aliases) as in the following:
"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"
An error will be generated if a log file exists in the same directory as the data file and the 'database' keyword is used when attaching the primary data file. In this case, remove the log file. Once the database is attached, a new log file will be automatically generated based on the physical path.