it-swarm.com.de

Wie verbinde ich mich mit einem MDF Datenbankdatei?

Ich experimentiere gerade damit, eine C # -App zum ersten Mal mit einer MDF -Datenbank zu verbinden, und ich brauche etwas Hilfe.

Ich habe in Visual Studio 2010 eine kleine MDF -Datenbankdatei erstellt, ein anderes Projekt erstellt und die Datei in das Projekt selbst importiert.

Ich versuche nicht, mich per Code mit der Datei MDF zu verbinden. Hier der Code, den ich verwende:

namespace DBtestApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        System.Data.SqlClient.SqlConnection con;
        private void Form1_Load(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = "DataSource=.\\SQLEXPRESS; AttachDbFilename =SampleDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
            con.Open();
            MessageBox.Show("Connection opened");
            con.Close();
            MessageBox.Show("Connection closed");
        }
    }
}

Beim Ausführen der Anwendung erhalte ich eine Ausnahme in der Zeile, in der ich die Verbindungszeichenfolge definiere, und die Ausnahme hat diese Meldung oben im Stapel:

System.ArgumentException: Keyword not supported: 'datasource'.

Kann mir jemand die richtige Richtung zeigen?

14
Ahmad

Leerzeichen zwischen Data Source einfügen

 con.ConnectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=c:\folder\SampleDatabase.mdf;
                          Integrated Security=True;
                          Connect Timeout=30;
                          User Instance=True";
27
adatapost
string sqlCon = @"Data Source=.\SQLEXPRESS;" +
                @"AttachDbFilename=|DataDirectory|\SampleDB.mdf;
                Integrated Security=True;
                Connect Timeout=30;
                User Instance=True";
SqlConnection Con = new SqlConnection(sqlCon);

Der Dateipfad sollte | DataDirectory | haben die eigentlich auf "aktuelles Projektverzeichnis\App_Data \" oder "aktuelles Projektverzeichnis" verweist und die .mdf-Datei abruft ..... Platzieren Sie die .mdf an einem dieser Orte und sollten in Visual Studio 2010 funktionieren Wenn Sie die eigenständige Anwendung auf dem Produktionssystem verwenden, sollte der aktuelle Pfad, in dem sich die ausführbare Datei befindet, die MDF-Datei enthalten.

10
user1943915

Gehen Sie zu Server-Explorer> Ihre Datenbank> Rechtsklick> Eigenschaften> ConnectionString und kopieren Sie die Verbindungszeichenfolge und fügen Sie den in Connectiongstring-Code kopierten Code ein :) 

9
Mahmmoud Qassem

Für Visual Studio 2015 lautet die Verbindungszeichenfolge:

"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True"
4
July.Tech
Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
1
John Woo
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Samples\MyApp\C#\bin\Debug\Login.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

das funktioniert für mich ... Gibt es eine Möglichkeit, den Weg zu verkürzen? mögen

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=\bin\Debug\Login.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
0
Mike James

Alternative Lösung, bei der Sie die Datenbank in dem gewünschten Ordner in der Lösung haben können. Das hat für mich funktioniert:

.ConnectionString(@"Data Source=LocalDB)\MSSQLLocalDB;
                    AttachDbFilename="+AppDomain.CurrentDomain.BaseDirectory+"Folder1\\Folder2\\SampleDatabase.mdf" + ";
                    Integrated Security=True;")
0
f4d0