Erstellen eines OLE DB-Anbieters
Die empfohlene Methode zum Erstellen eines OLE DB-Anbieters besteht darin, die Assistenten zum Erstellen eines ATL-COM-Projekts und eines Anbieters zu verwenden und dann die Dateien mithilfe der OLE DB-Vorlagen zu ändern. Beim Anpassen Ihres Anbieters können Sie unerwünschte Eigenschaften auskommentieren und optionale Schnittstellen hinzufügen.
Die grundlegenden Schritte lauten wie folgt:
Verwenden Sie den ATL-Projekt-Assistenten, um die grundlegenden Projektdateien und den ATL OLEDB-Anbieter-Assistenten zu erstellen, um den Anbieter zu erstellen (wählen Sie ATL OLEDB Provider aus dem Ordner "Installed>Visual C++>ATL" in Add New Item).
Hinweis
Das Projekt muss MFC-Unterstützung enthalten, bevor ein ATL OLEDB-Anbieter hinzugefügt wird.
Ändern Sie den Code in der
Execute
Methode in CCustomRowset(CustomRS.h). Ein Beispiel finden Sie unter Lesen von Zeichenfolgen in einen OLE DB-Anbieter.Bearbeiten Sie die Eigenschaftenzuordnungen in CustomDS.h, CustomSess.h und CustomRS.h. Der Assistent erstellt Eigenschaftenzuordnungen, die alle Eigenschaften enthalten, die ein Anbieter implementieren kann. Durchlaufen Sie die Eigenschaftenzuordnungen, und entfernen Oder kommentieren Sie Eigenschaften, die Ihr Anbieter nicht unterstützen muss.
Aktualisieren Sie die PROVIDER_COLUMN_MAP, die in CCustomRowset(CustomRS.h) zu finden ist. Ein Beispiel finden Sie unter Speichern von Zeichenfolgen im OLE DB-Anbieter.
Wenn Sie bereit sind, Ihren Anbieter zu testen, können Sie ihn testen, indem Sie versuchen, den Anbieter in einer Anbieteraufzählung zu finden. Beispiele für Testcode, der einen Anbieter in einer Enumeration findet, finden Sie in den CATDB - und DBVIEWER-Beispielen oder im Beispiel in Der Implementierung von A Simple Consumer.
Fügen Sie alle gewünschten zusätzlichen Schnittstellen hinzu. Ein Beispiel finden Sie unter "Verbessern des einfachen schreibgeschützten Anbieters".
Hinweis
Standardmäßig generieren die Assistenten Code, der OLE DB-Ebene 0-kompatibel ist. Um sicherzustellen, dass Ihre Anwendung die Ebene 0 konform bleibt, entfernen Sie keine der vom Assistenten generierten Schnittstellen aus dem Code.
Siehe auch
CatDB-Beispiel: Datenquellenschemabrowser
DBViewer-Beispiel: Datenbankbrowser