none
ConnectionString in SQLServerCompact 4.0 RRS feed

  • Frage

  • Hallo liebe Forenmitglieder,

    schon wieder eine Sache, mit der ich nicht weiter komme.

    Ich habe eine DataTable folgendermaßen initialisiert:

     DataTable datatable = new DataTable();
    //mit den Spalten:
               datatable.Columns.Add("Datum", typeof(DateTime));
                datatable.Columns.Add("first",typeof(float));
                datatable.Columns.Add("second", typeof(float));
                datatable.Columns.Add("third", typeof(float));
                datatable.Columns.Add("fourth", typeof(float));

    Die datatable wird mit Daten aus einer .csv-Daei gefüllt und soll anschließend via BulkCopy in eine SQLServerCompact-Tabelle geschrieben werden, die dazu gehörende Tabelle heißt Kursdaten und liegt auch im DataSet vor.

    Jetzt ist also datatable gefüllt und mit folgendem Code soll die Tabelle nach Kursdaten übertragen werden:

                if (datatable.Rows.Count > 0)
                {
                    SqlCeConnection con = new SqlCeConnection ("Data Source = |DataDirectory|\\RiskAnalyzerDatabase.sdf");
                    string connectionstring = con.ConnectionString;
                    SqlBulkCopy bcopy = new SqlBulkCopy(connectionstring);
                    bcopy.DestinationTableName = "Kursdaten";
                    foreach (var column in datatable.Columns)
                        bcopy.ColumnMappings.Add(column.ToString(), column.ToString());
                    bcopy.WriteToServer(datatable);
                    bcopy.Close();
                }

    Im Konstruktor erwartet BulCopy entweder eine SqlConnection oder einen String.

    Ich erhalte folgende Fehlermeldung:

    Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: SQL Network Interfaces, error: 26 - Fehler beim Bestimmen des angegebenen Servers/der angegebenen Instanz)

    Wie bekomme ich den korrekten String für die Verbindung?

    Herzliche Grüße

    Ottilie

    Mittwoch, 29. Mai 2013 09:20

Antworten

  • Hallo Ottilie,

    uups... SQL Server Compact unterstützt kein Bulk Copy, das kann nur der "richtige" SQL Server.

    Abhilfe könnte nur eine Bibliothek schaffen wie: http://sqlcebulkcopy.codeplex.com/
    wobei es dort mit einem direkten Tabellen-Zugriff implementiert wird.

    Gruß Elmar

    • Als Antwort markiert ottilie Donnerstag, 30. Mai 2013 09:43
    Mittwoch, 29. Mai 2013 09:40
    Beantworter

Alle Antworten

  • Hallo Ottilie,

    uups... SQL Server Compact unterstützt kein Bulk Copy, das kann nur der "richtige" SQL Server.

    Abhilfe könnte nur eine Bibliothek schaffen wie: http://sqlcebulkcopy.codeplex.com/
    wobei es dort mit einem direkten Tabellen-Zugriff implementiert wird.

    Gruß Elmar

    • Als Antwort markiert ottilie Donnerstag, 30. Mai 2013 09:43
    Mittwoch, 29. Mai 2013 09:40
    Beantworter
  • Hallo Elmar,

    ich verwende jetzt doch den SQLServer. Bei der Menge an Zeilen ist ein BulkInsert wohl doch das einzig Vernünftige. Aber dazu habe ich auch wieder Fragen - in einem neuen Thread.

    Vielen Dank für Deinen Hinweis, er war sehr hilfreich.

    Gruß

    Ottilie

    Donnerstag, 30. Mai 2013 09:43