OLE DB-Datenquellenobjekte (SQL Server Compact)

In der OLE DB-Programmierung entspricht das Datenquellenobjekt dem zugrunde liegenden Datenspeicher eines Anbieters. Um eine Verbindung zu 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 3.5 (SQL Server Compact 3.5) wird das Datenquellobjekt wie folgt erstellt: durch Aufrufen der OLE CoCreateInstance-Funktion und nachfolgende Übergabe des CLSID (Klassenbezeichners) für den OLE DB-Anbieter von SQL Server Compact 3.5, der CLSID_SQLSERVERCE lautet. Da SQL Server Compact 3.5 ein In-Process-Server ist, werden Instanzen von SQL Server Compact 3.5 OLE DB-Objekten mit dem CLSCTX_INPROC_SERVER-Makro erstellt, um den ausführbaren Kontext anzugeben.

SQL Server Compact 3.5 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 3.5 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 3.5 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 diesem Sicherheitsfeature 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 3.5 weist u. a. folgende Beschränkungen auf:

  • Das Konzept eines Katalogs, wie es in OLE DB definiert ist, wird in SQL Server Compact 3.5 nicht verwendet. Die DBPROP_INIT_DATASOURCE-Eigenschaft definiert die zu verwendende Datenbank, und der OLE DB-Anbieter für SQL Server Compact 3.5 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 3.5 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. Der Standardwert ist false, wenn kein Wert angegeben ist.

ms173256.note(de-de,SQL.100).gifHinweis:
Diese Eigenschaft wurde mit der Version SQL Server Compact 3.5 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. Ist kein Wert angegeben, wird standardmäßig 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. Falls nicht angegeben, ist der Standardwert 5000 Millisekunden für Desktopcomputer und 2000 Millisekunden für mobile Geräte.

DBPROP_SSCE_ENCRYPTDATABASE

Ein boolescher Wert, der festlegt, ob die Datenbank verschlüsselt wird. Diese Eigenschaft muss auf TRUE festgelegt werden, wenn die Verschlüsselung aktiviert werden soll, oder auf FALSE, wenn keine Verschlüsselung erfolgen soll. Ist kein Wert angegeben, ist der Standardwert FALSE. Wenn Sie die Verschlüsselung aktivieren, müssen Sie mit der Eigenschaft für Kennwörter ein Kennwort angeben. Wenn Sie ein Kennwort angegeben haben, wird die Verschlüsselung automatisch aktiviert. Es spielt dann keine Rolle, auf welchen Wert Sie diese Eigenschaft festgelegt haben.

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 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.