Advanced Services | Verbindung zur SqlServerCompactEdition |
Die SQL-Server-Compact-Edition ist die kleinere Schwester des SQL-Servers. Die Daten werden nicht zentral verwaltet wie beim großen Bruder, sondern es gibt stattdessen Datenbankdateien mit der Endung .sdf . Diese legt man am besten ins Projektverzeichnis des jeweiligen C#-projektes von Visualstudio. Das folgende ist eine Kurzbeschreibung des Vorgehens.
legen sie an ein neues c#-projekt in visualstudio mit namen SQLServerTest in diesem beispiel wird eine verbindung zu einer datenbank namens northwind.sdf hergestellt. northwind.sdf ist eine datenbank der SQL-Server-Compact-Edition. c# kann mit dieser datenbank zusammenarbeiten. schritt 1 -------------- die northwind.sdf datenbanktabellen können sie hier herunterladen: Northwind.sdf diese muß in das release- oder debug-verzeichnis des jeweiligen projekts kopiert werden. schritt 2 -------------- als nächstes müssen sie ein assembly hinzufügen System.Data.SqlServerCe (in system.data.sqlserverce.dll) schritt 3 -------------- das notwendige using ist using System.Data.SqlServerCe; schritt 4 -------------- für die compact edition gibt es die analoge klassen wie für SQLServer es heißt also nun SqlCeConnection an stelle von SqlConnection SqlCeCommand an stelle von SqlCommand SqlCeDataReader an stelle von SqlDataReader usw. die methoden sind die gleichen. schritt 5 -------------- der richtige connectionstring lautet string connectString = "Data Source='northwind.sdf';Default Lock Timeout=60000"; bemerkungen -------------- die northwind.sdf enthält nur einen teil der tabellen der großen northwinddatenbank des sqlservers. es gibt im netz aber auch eine komplette fassung der northwinddatenbank für die CompactEdition. des weiteren gibt es noch eine zweite datenbank pub.sdf. diese beiden tabellensammlungen können sie hier herunterladen NorthwindKomplett.sdf pubs.sdf die tabelle der tabellen --------------------------- die tabelle, die information über die in der datenbank vorhandenen tabellen liefert heißt information_schema.tables ein select-kommando, das die komplette information daraus ausliest heißt select * from information_schema.tables; ein select-kommando, das nur die namen der tabellen daraus ausliest heißt select table_name from information_schema.tables where table_type = 'TABLE'; ein testprogramm ------------------- using System; using System.Data.SqlServerCe; namespace Datenbanken { class Program { static void Main(string[] args) { SqlCeConnection conn = new SqlCeConnection(); string connStr = "Data Source='Northwind.sdf';Default Lock Timeout=60000"; string connStr2 = "Data Source='NorthwindKomplett.sdf';Default Lock Timeout=60000"; conn.ConnectionString = connStr2; try { conn.Open(); Console.WriteLine("Verbindungsaufbau erfolgreich"); //.. //.. conn.Close(); Console.WriteLine("Verbindung geschlossen"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }