次の方法で共有


SqlConnectionStringBuilder.AttachDBFilename プロパティ

定義

プライマリ データ ファイルの名前を表す文字列を取得または設定します。 この文字列には、アタッチ可能なデータベースの完全パス名が含まれています。

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' キーワードが使用されると、エラーが生成されます。 この場合は、ログ ファイルを削除してください。 データベースがアタッチされると、物理パスに基づいて、新しいログ ファイルが自動的に生成されます。

適用対象

こちらもご覧ください