OLE DB-Datenquellenobjekte (SQL Server Compact)
In der OLE DB-Programmierung entspricht das Datenquellenobjekt dem zugrunde liegenden Datenspeicher eines Anbieters. Um eine Verbindung mit einem OLE DB-Anbieter herzustellen, muss ein Consumer zunächst eine Instanz des Datenquellenobjekts erstellen und initialisieren.
Das SQL Server Compact-Datenquellenobjekt
In Microsoft SQL Server Compact 4.0 wird das Datenquellobjekt wie folgt erstellt: durch Aufrufen der OLE-Funktion CoCreateInstance und nachfolgende Übergabe des CLSID (Klassenbezeichners) für den OLE DB-Anbieter für SQL Server Compact 4.0, der CLSID_SQLSERVERCE lautet. Da SQL Server Compact 4.0 ein In-Process-Server ist, werden Instanzen von SQL Server Compact 4.0 OLE DB-Objekten mit dem CLSCTX_INPROC_SERVER-Makro erstellt, um den ausführbaren Kontext anzugeben.
SQL Server Compact 4.0 verwendet ausschließlich die DBPROP_INIT_DATASOURCE-Eigenschaft zum Angeben der gewünschten Datenquelle. Dieser Eigenschaft wird der vollständige Pfad der Datenbankdatei übergeben, die geöffnet werden soll. Nachdem diese Eigenschaft festgelegt ist, initialisiert der Consumer das Datenquellenobjekt. Dadurch wird die Umgebung eingerichtet, die für den Datenaustausch zwischen dem Consumer und SQL Server Compact 4.0 erforderlich ist. Sobald das Datenquellenobjekt initialisiert ist, kann der Consumer beschreibende Informationen zum Datenspeicher abrufen, aber noch nicht auf Daten zugreifen. Mit diesem Datenquellenobjekt können dann ein oder mehrere Session-Objekte erstellt werden. Mit diesen Objekten wiederum werden die notwendigen Transaktionen, Befehle und Rowsets erstellt.
Der OLE DB-Anbieter für SQL Server Compact 4.0 ermöglicht es Ihnen außerdem, eine neue Datenbank zu erstellen. Weitere Informationen finden Sie unter Erstellen von Datenbanken mit OLE DB.
Kennwortgeschützte Datenbanken werden ebenfalls unterstützt. Bei dieser Sicherheitsfunktion muss ein Kennwort übergeben werden, wenn das Datenquellenobjekt initialisiert wird. Weitere Informationen finden Sie unter Zugreifen auf kennwortgeschützte Datenbanken mit OLE DB.
Beschränkungen des Datenquellenobjekts
Das Datenquellenobjekt im OLE DB-Anbieter für SQL Server Compact weist u. a. folgende Beschränkungen auf:
Das Konzept eines Katalogs, wie es in OLE DB definiert ist, wird in SQL Server Compact nicht verwendet. Die DBPROP_INIT_DATASOURCE-Eigenschaft definiert die zu verwendende Datenbank, und der OLE DB-Anbieter für SQL Server Compact 4.0 behandelt diese Datenbank als aktuellen Katalog.
Ein Wechseln des aktuellen Datenspeichers wird nicht unterstützt. Clients, die den Datenspeicher wechseln möchten, müssen die Initialisierung des Datenquellenobjekts aufheben (Uninitialize), den Namen der neuen Datenquelle festlegen und das Datenquellenobjekt dann erneut initialisieren.
Anbieterspezifische Datenquelleneigenschaften
SQL Server Compact 4.0 unterstützt die folgenden anbieterspezifischen Eigenschaften aus dem anbieterspezifischen Eigenschaftensatz DBPROPSET_SSCE_DBINIT:
Eigenschaft |
Definition |
---|---|
DBPROP_SSCE_AUTO_SHRINK_THRESHOLD |
Der Prozentsatz an freiem Speicherplatz in der Datenbankdatei, der zulässig ist, bevor eine automatische Verkleinerung gestartet wird. Der Wert 100 deaktiviert die automatische Verkleinerung. Ist kein Wert angegeben, ist der Standardwert 60. |
DBPROP_SSCE_DBCASESENSITIVE |
Ein boolescher Wert, der festlegt, ob die Groß-/Kleinschreibung bei der Datenbanksortierung berücksichtigt wird. Muss auf true festgelegt werden, um die Groß-/Kleinschreibung bei der Sortierung zu berücksichtigen, oder auf false, um die Groß-/Kleinschreibung bei der Sortierung nicht zu berücksichtigen. Ist kein Wert angegeben, lautet der Standardwert false.
Hinweis
Diese Eigenschaft wurde mit der Version SQL Server Compact SP1 eingeführt. Weitere Informationen finden Sie unter Arbeiten mit Sortierungen (SQL Server Compact).
|
DBPROP_SSCE_DBPASSWORD |
Das Datenbankkennwort, das bis zu 40 Zeichen lang sein kann. Wenn nichts anderes angegeben ist, wird in der Standardeinstellung kein Kennwort verwendet. Diese Eigenschaft ist erforderlich, wenn Sie Verschlüsselung für die Datenbank aktivieren möchten. Wenn Sie ein Kennwort angegeben haben, wird Verschlüsselung für die Datenbank aktiviert. Weitere Informationen finden Sie unter Zugreifen auf kennwortgeschützte Datenbanken mit OLE DB. |
DBPROP_SSCE_DEFAULT_LOCK_ESCALATION |
Die Anzahl von Sperren, die eine Transaktion abruft, bevor Sie die Ausweitung von einer Zeile zur Tabelle oder von einer Seite zur Tabelle versuchen. Ist kein Wert angegeben, ist der Standardwert 100. |
DBPROP_SSCE_DEFAULT_LOCK_TIMEOUT |
Die Standardanzahl von Millisekunden, die eine Transaktion auf eine Sperre wartet. Der Standardwert ist 5000 Millisekunden für Desktopcomputer und 2000 Millisekunden für mobile Geräte, wenn kein anderer Wert festgelegt wird. |
DBPROP_SSCE_ENCRYPTIONMODE |
Verschlüsselungstyp, der zum Sichern der Datenbankdatei verwendet wird. Weitere Informationen über Verschlüsselungsmodi finden Sie in der Beschreibung in Anbieterspezifische Eigenschaften (OLE DB). |
DBPROP_SSCE_FLUSH_INTERVAL |
Gibt in Sekunden die Zeitspanne an, ab der alle Transaktionen, für die ein Commit ausgeführt wurde, auf den Datenträger ausgegeben und geleert werden. Ist kein Wert angegeben, ist der Standardwert 10. |
DBPROP_SSCE_MAXBUFFERSIZE |
Die maximale Größe der Datenbank in MB. Ist kein Wert angegeben, ist der Standardwert 640. |
DBPROP_SSCE_MAX_DATABASE_SIZE |
Die maximale Größe der Datenbank in MB. Ist kein Wert angegeben, ist der Standardwert 128. |
DBPROP_SSCE_TEMPFILE_DIRECTORY |
Der Speicherort der temporären Datenbank. Ist kein Wert angegeben, wird als Standardwert die Datenbank verwendet, die in der Datenquelleneigenschaft für temporäre Speicherung angegeben ist. Weitere Informationen finden Sie unter Angeben des Speicherorts der temporären Datenbank mit OLE DB und unter Temporäre Datenbanken. |
DBPROP_SSCE_TEMPFILE_MAX_SIZE |
Die maximale Größe der temporären Datenbank in MB. |