Partager via


SqlConnectionStringBuilder.AttachDBFilename Propriété

Définition

Obtient ou définit une chaîne qui contient le nom du fichier de données principal. Cela inclut le nom du chemin d'accès complet d'une base de données pouvant être attachée.

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

Valeur de propriété

Valeur de la propriété AttachDBFilename ou String.Empty si aucune valeur n’a été fournie.

Exceptions

Pour définir la valeur sur null, utilisez Value.

Exemples

L’exemple suivant crée un instance SqlConnectionStringBuilder et définit la AttachDBFilename propriété afin de spécifier le nom d’un fichier de données attaché.

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

Remarques

Cette propriété correspond aux clés « AttachDBFilename », « extended properties » et « initial file name » dans la chaîne de connexion.

AttachDBFilename est uniquement pris en charge pour les fichiers de données principaux avec une extension .mdf.

Si la valeur de la clé AttachDBFileName est spécifiée dans la chaîne de connexion, la base de données est attachée et devient la base de données par défaut pour la connexion.

Si cette clé n’est pas spécifiée et si la base de données a été précédemment attachée, la base de données n’est pas attachée de nouveau. La base de données précédemment attachée sera utilisée comme base de données par défaut pour la connexion.

Si cette clé est spécifiée avec la clé AttachDBFileName, la valeur de cette clé est utilisée comme alias. Toutefois, si le nom est déjà utilisé dans une autre base de données attachée, la connexion échoue.

Le chemin d’accès peut être absolu ou relatif à l’aide de la chaîne de substitution DataDirectory. Si DataDirectory est utilisé, le fichier de base de données doit exister dans un sous-répertoire du répertoire vers lequel pointe la chaîne de substitution. Note: Les noms de chemin d’accès UNC, HTTP et serveur distant ne sont pas pris en charge.

Le nom de la base de données doit être spécifié avec le mot clé « base de données » (ou l’un de ses alias) comme suit :

"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"

Une erreur est générée s'il existe un fichier journal dans le même répertoire que le fichier de données et si le mot clé « database » est utilisé lors de l'attachement du fichier de données principal. Dans ce cas, supprimez le fichier journal. Une fois que la base de données est attachée, un nouveau fichier journal est automatiquement généré en fonction du chemin d’accès physique.

S’applique à

Voir aussi