Szablony dostawców OLE DB (C++)

OLE DB jest ważną częścią strategii uniwersalnego dostępu do danych firmy Microsoft. Projekt OLE DB umożliwia dostęp do danych o wysokiej wydajności z dowolnego źródła danych. Wszystkie dane tabelaryczne są widoczne za pośrednictwem ole DB niezależnie od tego, czy pochodzą z bazy danych. Elastyczność zapewnia ogromną moc.

Jak wyjaśniono w temacie Konsumenci i dostawcy OLE DB, ole DB korzysta z koncepcji konsumentów i dostawców. Odbiorca wysyła żądania dotyczące danych; dostawca zwraca dane w formacie tabelarycznym do odbiorcy. Z perspektywy programowania najważniejszą implikacją tego modelu jest to, że dostawca musi zaimplementować dowolne wywołanie, które może wykonać odbiorca.

Co to jest dostawca?

Dostawca OLE DB to zestaw obiektów COM, które obsługują wywołania interfejsu z obiektu odbiorcy, przesyłając dane w formacie tabelarycznym z trwałego źródła (nazywanego magazynem danych) do odbiorcy.

Dostawcy mogą być proste lub złożone. Dostawca może obsługiwać minimalną ilość funkcji lub pełnowymiarowego dostawcy jakości produkcyjnej, implementując więcej interfejsów. Dostawca może zwrócić tabelę, umożliwić klientowi określenie formatu tej tabeli i wykonywanie operacji na tych danych.

Każdy dostawca implementuje standardowy zestaw obiektów COM do obsługi żądań od klienta, co oznacza, że każdy użytkownik OLE DB może uzyskać dostęp do danych od dowolnego dostawcy, niezależnie od języka (takiego jak C++ i Basic).

Każdy obiekt COM zawiera kilka interfejsów, z których niektóre są wymagane, a niektóre z nich są opcjonalne. Implementując obowiązkowe interfejsy, dostawca gwarantuje minimalny poziom funkcjonalności (nazywanej zgodnością), który każdy klient powinien mieć możliwość użycia. Dostawca może zaimplementować opcjonalne interfejsy, aby zapewnić dodatkowe funkcje. Architektura szablonu dostawcy OLE DB szczegółowo opisuje te interfejsy. Klient powinien zawsze wywoływać metodę QueryInterface w celu określenia, czy dostawca obsługuje dany interfejs.

Obsługa poziomu specyfikacji OLE DB

Szablony dostawców OLE DB obsługują specyfikację OLE DB w wersji 2.7. Za pomocą szablonów dostawców OLE DB można zaimplementować dostawcę zgodnego z poziomem 0. Na Provider przykład przykład używa szablonów do implementowania serwera poleceń innego niż SQL (MS-DOS), który wykonuje polecenie DOS DIR w celu wykonania zapytania względem systemu plików. Przykład Provider zwraca informacje o katalogu w zestawie wierszy, który jest standardowym mechanizmem OLE DB do zwracania danych tabelarycznych.

Najprostszym typem dostawcy obsługiwanego przez szablony OLE DB jest dostawca tylko do odczytu bez poleceń. Dostawcy z poleceniami są również obsługiwani, podobnie jak funkcje tworzenia zakładek i odczytu/zapisu. Możesz zaimplementować dostawcę odczytu/zapisu, pisząc dodatkowy kod. Dynamiczne zestawy wierszy i transakcje nie są obsługiwane przez bieżącą wersję, ale można je dodać, jeśli chcesz.

Kiedy należy utworzyć dostawcę OLE DB?

Nie zawsze musisz tworzyć własnego dostawcę; Firma Microsoft udostępnia kilku wstępnie spakowanych dostawców standardowych w oknie dialogowym Właściwości łącza danych w programie Visual C++. Głównym powodem utworzenia dostawcy OLE DB jest skorzystanie ze strategii uniwersalnego dostępu do danych. Niektóre zalety tego działania to:

  • Uzyskiwanie dostępu do danych za pośrednictwem dowolnego języka, takiego jak C++, Basic i Visual Basic Scripting Edition. Umożliwia ona różnym programistom w organizacji dostęp do tych samych danych w taki sam sposób, niezależnie od tego, jakiego języka używają.

  • Otwórz dane w innych źródłach danych, takich jak SQL Server, Excel i Access. Może to być przydatne, jeśli chcesz przesyłać dane między różnymi formatami.

  • Udział w operacjach między źródłami danych (heterogenicznych). Może to być skuteczny sposób magazynowania danych. Korzystając z dostawców OLE DB, można przechowywać dane w formacie natywnym i nadal mieć do niego dostęp w prostej operacji.

  • Dodawanie dodatkowych funkcji do danych, takich jak przetwarzanie zapytań.

  • Zwiększenie wydajności uzyskiwania dostępu do danych przez kontrolowanie sposobu manipulowania nimi.

  • Zwiększenie niezawodności. Jeśli masz zastrzeżony format danych, do którego może uzyskać dostęp tylko jeden programista, jesteś zagrożony. Korzystając z dostawców OLE DB, możesz otworzyć ten zastrzeżony format dla wszystkich programistów.

Dostawcy tylko do odczytu i z możliwością aktualizacji

Dostawcy mogą znacznie różnić się w złożoności i funkcjonalności. Warto kategoryzować dostawców na dostawców tylko do odczytu i aktualizowalnych dostawców:

  • Program Visual C++ 6.0 obsługuje tylko dostawców tylko do odczytu. Tworzenie dostawcy OLE DB omawia sposób tworzenia dostawcy tylko do odczytu.
  • Język Visual C++ obsługuje aktualizowalnych dostawców, którzy mogą aktualizować (zapisywać) magazyn danych. Aby uzyskać informacje o aktualizowalnych dostawcach, zobacz Tworzenie dostawcy możliwego do zaktualizowania. Przykład updatePV jest przykładem możliwego do zaktualizowania dostawcy.

Aby uzyskać więcej informacji, zobacz:

Zobacz też

Dostęp do danych
Dokumentacja zestawu SDK OLE DB
Dokumentacja programisty OLE DB