none
Von SQLExpress auf SQL Compact wechseln RRS feed

  • Frage

  • Guten Tag

    Ich habe auf SQLExpress ein ziemlich grosses Projekt entwickelt, muss nun aber auf SQL Compact umstellen.

    Die Datenbank selber habe ich umgewandelt.

    Gibt es eine Möglichkeit, meinem Programm in Globo mitzuteilen, dass es für alle Datenmanipulationen einen anderen DataSet verwenden soll? Ich habe schon die verschiedensten Möglichkeiten probiert (ConnectionString, einzelne Bindingsources, etc), aber keine klappt.

    Danke für jeden Hinweis.
    Christophe
    Freitag, 30. Oktober 2009 08:55

Antworten

  • Hallo Christophe,

    In erster Linie musst Du alles von System.Data.SqlClient auf SqlServerCE umstellen; als Verweise setzten, Import/Using Anweisungen ändern und die verwendeten Klassen.

    Siehe auch mal diesen Thread, so eine Umstellung ist nicht schwierig (auch wenn hier aufgrund eines "Unfalles" umgestellt werden musste)
    http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/1862947d-d985-4452-aa6d-0f8c1d4769f9
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Freitag, 30. Oktober 2009 09:21
  • Hallo Christophe,

    nein, der Aufwand bleibt.
    Einfacher hast Du es nur wenn Du einen OR-Mapper wie Linq To SQL oder das Entity Framework
    respektive NHibernate uam. einsetzt. Die übernehmen das meiste beim Transferieren auf ein
    anderes RDBMS.
    Schon bei DataSets mußt Du alle TableAdapter neu erzeugen.
    Und bei Handcodiertem ADO.NET jede einzelne Anweisung überprüfen..

    Wobei Du bei einem Wechsel auf SQL Server Compact vorher genau gucken müsstest,
    ob alle von Dir verwendeten Features des SQL Servers unterstützt werden.
    Denn wenn auch Compact einen ähnlichen SQL Dialekt verwendet,
    unterstützt es längst nicht alle Möglichkeiten:
    Unterschiede zwischen SQL Server Compact und SQL Server

    Gruß Elmar
    Montag, 9. November 2009 20:51
    Beantworter

Alle Antworten

  • Hallo Christophe,

    In erster Linie musst Du alles von System.Data.SqlClient auf SqlServerCE umstellen; als Verweise setzten, Import/Using Anweisungen ändern und die verwendeten Klassen.

    Siehe auch mal diesen Thread, so eine Umstellung ist nicht schwierig (auch wenn hier aufgrund eines "Unfalles" umgestellt werden musste)
    http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/1862947d-d985-4452-aa6d-0f8c1d4769f9
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Freitag, 30. Oktober 2009 09:21
  • Hallo Christophe,

    Hat Dir die Antwort geholfen?

    Grüße,
    Robert

    Freitag, 6. November 2009 08:36
    Moderator
  • Hallo Robert

    Ja, jetzt kann ich abschätzen, was der Aufwand zur Umstellung wäre.

    Nein, weil ich den Aufwand nicht betreiben kann. Meine Applikation ist recht umfangreich, ca. 20 Forms, die Daten aus derselben Datenbank abrufen. Es gibt also sehr viele Vorkommen des system.data.sqlClient.

    Ich hatte eigentlich gehofft, dass ich der Applikation einfach die DB unter den Füssen wegziehen kann, um sie durch eine andere zu ersetzen. Denn die Installation von SQLServer Express 2008 nur für diese eine Applikation ist nicht mehr verhältnismässig. Aber so einfach scheint es nicht zu sein.

    Gibt es noch irgendeine andere Möglichkeit?

    Grüsse
    Christophe
    Montag, 9. November 2009 10:14
  • Hallo Christophe,

    nein, der Aufwand bleibt.
    Einfacher hast Du es nur wenn Du einen OR-Mapper wie Linq To SQL oder das Entity Framework
    respektive NHibernate uam. einsetzt. Die übernehmen das meiste beim Transferieren auf ein
    anderes RDBMS.
    Schon bei DataSets mußt Du alle TableAdapter neu erzeugen.
    Und bei Handcodiertem ADO.NET jede einzelne Anweisung überprüfen..

    Wobei Du bei einem Wechsel auf SQL Server Compact vorher genau gucken müsstest,
    ob alle von Dir verwendeten Features des SQL Servers unterstützt werden.
    Denn wenn auch Compact einen ähnlichen SQL Dialekt verwendet,
    unterstützt es längst nicht alle Möglichkeiten:
    Unterschiede zwischen SQL Server Compact und SQL Server

    Gruß Elmar
    Montag, 9. November 2009 20:51
    Beantworter
  • Hallo Elmar

    Danke für die Aufklärung.

    Zu diesem Schluss bin ich auch gekommen.....darum baue ich nicht um.

    Gruss Christophe
    Montag, 9. November 2009 21:04