Wie kann ich eine SDF-Datenbank? Keine Verbindungszeichenfolge, die ich versuche zu funktionieren scheint

Habe ich versucht, buchstäblich 50+ verschiedene versuche, auf meinem connection-string für meine lokale Datenbank, und nichts scheint zu funktionieren. Ich bin im wesentlichen nur versucht, eine Verbindung zu öffnen die Datenbank-Datei so kann ich den dump in die Daten, die ich gezogen habe aus meiner excel-Tabelle. Ich bin mit Visual C# macht eine offline-winform-Anwendung.

Egal was Verbindungszeichenfolge, die ich versuche in meiner app.config, es schlägt immer fehl, wenn er versucht zu schreiben "dReader" auf die Datenbank.

Der Fehler ist in der Regel diese je nachdem, welche Zeichenfolge ich versuchen:

"Ein Netzwerk-oder instanzspezifischen Fehler beim herstellen einer Verbindung zu SQL Server. Der server wurde nicht gefunden oder ist nicht zugänglich. Stellen Sie sicher, dass der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (Anbieter: Named Pipes-Anbieter, Fehler: 40 - Konnte nicht geöffnet werden eine Verbindung zu SQL Server)"

Ich habe schon viele online-Beispiele und Ressourcen, und keiner scheint zu arbeiten. Ich hoffe jemand hier kann darauf hinweisen, warum es fehlschlägt.

Hier ist meine app.config in seiner neuesten form:

<connectionStrings>
    <add name="DDP_Project.Properties.Settings.DDP_DatabaseConnectionString"
        connectionString="Data Source=E:\Other DDP Projects\DDP_Project_SDF\DDP_Project\DDP_Database.sdf;"
        providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>

Hier ist mein form-code:

    private void Profiles_Click(object sender, EventArgs e)
    {
        profilesDialog.FileName = "[YOUR_UPLOAD_FILE_HERE]";
        var result = profilesDialog.ShowDialog();

        if (result == DialogResult.OK)
        {
            HandleFileSelection();
        }
    }

    private void HandleFileSelection()
    {
        var file = profilesDialog.FileName;


         //Create a connection to the file datafile.sdf in the program folder
    string dbfile = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\DDP_Database.sdf";
    SqlCeConnection connection = new SqlCeConnection("datasource=" + dbfile);


    string strConnection = ConfigurationManager.ConnectionStrings["DDP_Project.Properties.Settings.DDP_DatabaseConnectionString"].ConnectionString;


        //Create connection string to Excel work book
        string excelConnectionString = string.Format(
            @"Provider=Microsoft.Jet.OLEDB.4.0;
            Data Source=""{0}"";
            Extended Properties=""Excel 8.0;HDR=YES;""", file
        );

        //Create Connection to Excel work book
        OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
        OleDbCommand cmd = new OleDbCommand("SELECT [ID],[STATUS],[FAN_NUM],[PROFILE_NAME],[DESTINATION_HOST],[USER_ID],[USER_PASSWORD],[PROTOCOL],[PORT],[PATH],[CONTACT_NAME],[CONTACT_EMAIL],[CONTACT_PHONE],[CONTACT_ALT_PHONE],[CONTACT_CITY],[CONTACT_STATE],[CONTACT_CONTACT_TIME] FROM [Sheet1$]", excelConnection);

        excelConnection.Open();
        OleDbDataReader dReader;
        dReader = cmd.ExecuteReader();

        SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);

        sqlBulk.DestinationTableName = "Profiles";
        sqlBulk.ColumnMappings.Add("ID", "ID");
        sqlBulk.ColumnMappings.Add("STATUS", "STATUS");
        sqlBulk.ColumnMappings.Add("FAN_NUM", "FAN_NUM");
        sqlBulk.ColumnMappings.Add("PROFILE_NAME", "PROFILE_NAME");
        sqlBulk.ColumnMappings.Add("DESTINATION_HOST", "DESTINATION_HOST");
        sqlBulk.ColumnMappings.Add("USER_ID", "USER_ID");
        sqlBulk.ColumnMappings.Add("USER_PASSWORD", "USER_PASSWORD");
        sqlBulk.ColumnMappings.Add("PROTOCOL", "PROTOCOL");
        sqlBulk.ColumnMappings.Add("PORT", "PORT");
        sqlBulk.ColumnMappings.Add("PATH", "PATH");
        sqlBulk.ColumnMappings.Add("CONTACT_NAME", "CONTACT_NAME");
        sqlBulk.ColumnMappings.Add("CONTACT_EMAIL", "CONTACT_EMAIL");
        sqlBulk.ColumnMappings.Add("CONTACT_PHONE", "CONTACT_PHONE");
        sqlBulk.ColumnMappings.Add("CONTACT_ALT_PHONE", "CONTACT_ALT_PHONE");
        sqlBulk.ColumnMappings.Add("CONTACT_CITY", "CONTACT_CITY");
        sqlBulk.ColumnMappings.Add("CONTACT_STATE", "CONTACT_STATE");
        sqlBulk.ColumnMappings.Add("CONTACT_CONTACT_TIME", "CONTACT_CONTACT_TIME");

        sqlBulk.WriteToServer(dReader);
        sqlBulk.Close();
        excelConnection.Close();

    }

    private void profilesDialog_FileOk(object sender, EventArgs e)
    {


    }
}

}

  • Egal, wie die SDF-Datei ist für SQL-Server? Ich habe nicht bemerkt, eine solche Datei. Aber wenn u eine Verbindung zum sql-server, u don ' T-link zu der Datei. Die Datei angefügt oder wiederhergestellt wird, um den sql server. So wird die Verbindungszeichenfolge sollte so etwas wie dies : Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;
  • Damit SQL Server Compact kann nur verwendet werden mit einer SQL server-Instanz? Ich dachte, es war mehr standalone, ein Ersatz für Access. Bin ich falsch?
InformationsquelleAutor JoshG | 2011-04-20
Schreibe einen Kommentar