Export (0) Print
Expand All

SqlConnectionStringBuilder.AttachDBFilename Property

Gets or sets a string that contains the name of the primary data file. This includes the full path name of an attachable database.

Namespace: System.Data.SqlClient
Assembly: System.Data (in system.data.dll)

public string AttachDBFilename { get; set; }
/** @property */
public String get_AttachDBFilename ()

/** @property */
public void set_AttachDBFilename (String value)

public function get AttachDBFilename () : String

public function set AttachDBFilename (value : String)

Not applicable.

Property Value

The value of the AttachDBFileName property, or String.Empty if no value has been supplied.

This property corresponds to the "AttachDBFilename", "extended properties", and "initial file name" keys within the connection string. If the value passed in is null when you try to set the property, the AttachDBFilename property is reset. If the value has not been set and the developer tries to retrieve the property, the return value is String.Empty.

NoteNote:

If the primary data file (.mdf) is read-only, the attachment will fail because the log path inside of the .mdf file needs to be updated. This could occur if the file has been copied from a CD. Change the file attribute to read/write prior to attaching it. AttachDBFilename is only supported for primary data files with an .mdf extension.

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.

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 System.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);
        }
    }
}

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft