Friday, January 08, 2010

SQLServerCompact

SQLServerCompact speichert Datenbanken in sdf Dateien. Unter Win7 64bit erhielt ich den Fehler "unable to oad DLL sqlceme35.dll" , ausserdem wird beim kopieren einer sdf Datei eine neue Datenbank angelegt, anstatt den Inhalt mitzukopieren. Die SDF Dateein können übers SqlManagement Studio (Connect SqlServer Compact) oder das Visual Studio gewartet werden. Schema und Daten einer SQL Server Datenbank am besten mt Merge Replikation übertragen, eine SQLCompactDatei als Linked Server einzubinden ist mir nicht gelungen, umgekehrt gibt es diesen Punkt nicht. Mit VS2008 kann man die Daten editieren.

Zugriff auf eine sdf Datei aus c#:

SqlCeConnection con = new SqlCeConnection("Data Source=|DataDirectory|\\TodoList.sdf");
con.Open();
SqlCeCommand com = new SqlCeCommand("Select count(*) from Tasks", con);
object o =com.ExecuteScalar();
SqlCeDataAdapter da = new SqlCeDataAdapter("Select * from Tasks", con);
DataTable dt = new DataTable();
da.Fill(dt);

oder reinziehen der Tabellen aus dem Server Explorer in ein typisiertes Dataset (xsd), dann werden auch gleich die entsprechenden Table Adapter erstellt.

No comments: