Archiv

Archive for the ‘SQL Server’ Category

SQL Server Compact Edition


Vor kurzem habe ich die Compact Edition des SQL Servers ausprobiert. Diese gibt es ja schon länger, aber ich dachte immer sie währe nur für mobile Geräte nützlich. Doch weit gefehlt. Wenn man dem Nutzer seiner Anwendung das installieren eines SQL Servers ersparen will, kann man einfach die dll’s der CE Version mit deployen. Mehr ist nämlich nicht nötig und so muss nicht immer eine SQL Server Instance im Hintergrund laufen.

Wenn man eine Anwendung mit der CE Edition entwickeln möchte, muss man sich diese zuerst installieren. Dabei wird, wie gesagt, aber keine Instance angelegt. Es werden lediglich dll’s auf die Platte kopiert. Die Datenbank erstellt man am besten mit dem SQL Server Management Studio. Dazu bei Server type einfach SQL Server Compact Edition angeben und bei Database file „new Database“ wählen. Danach noch den Anweisungen folgen. Das Ganze funktioniert leider nur mit der 2008er Version des Management Studios. Was man, soweit ich weiß, nicht einzeln herunterladen kann.

Wenn man seine Datenbank erstellt hat, bedient man sie am besten mit Linq to SQL. Seinen Mapper Code kann man sich von sqlmetal erstellen lassen, dass beim Visual Studio und im .NET SDK dabei ist:

sqlmetal e:\TimeProofer.sdf /namespa ce:MyNamespace /password:mypass /code:TimeProofer.cs

Das erstellte Codefile kann man dann in sein Projekt einfügen und zum Beispiel so verwenden:

TimeProofer tp = new TimeProofer("Data Source=E:\\TimeProofer.sdf;Password=mypass");
Project project = new Project();
project.Proj_name = "My new Project";
project.Proj_description = "With this description";

tp.Project.InsertOnSubmit(project);
tp.SubmitChanges();

foreach (var projects in from p in tp.Project select p)
{
    Console.WriteLine(project.Proj_name);
}

Zuerst wir eine neue Instance der TimeProofer Klasse angelegt. Als Parameter wird ein ConnectionString verwendet. Nun kann ein neues Projekt angelegt werden. Project ist übrigens eine Tabelle in meiner Datenbank.  Das neue Projekt wird dann der Projekttabelle hinzugefügt und submitted. Abfragen kann man seine Tabelle mit der Linq typischen Syntax.

Alles in allem kommt man so ziemlich schnell zu einer einfachen Datenbankschicht, die für kleine Anwendungen vollkommen ausreichen ist.

Hier noch ein Link zu SQL Server CE:

http://www.microsoft.com/sqlserver/2005/en/us/compact.aspx

Advertisements
Kategorien:.NET, SQL Server