Udostępnij za pośrednictwem


Obiekty źródeł danych (OLE DB)

SQL ServerMacierzysty klient używa termin źródło danych dla zestaw interfejsów OLE DB, używane do ustanowienia łącza do magazynu danych, takich jak SQL Server.Tworzenie wystąpienie danych obiekt źródłowy dostawca pierwszym zadaniem jest SQL Server Native Client konsumenta.

Każdy dostawca OLE DB deklaruje identyfikator klasy (CLSID) dla siebie.Identyfikator CLSID SQL Server CLSID_SQLNCLI10 GUID C i C++ jest macierzystym klienta dostawca OLE DB (symbol SQLNCLI_CLSID rozwiąże na prawidłowe progid w pliku sqlncli.h, który odwołanie).O identyfikatorze CLSID, konsument wykorzystuje mechanizm OLE CoCreateInstance funkcja do wytworzenia wystąpienia danych obiekt źródłowy.

SQL ServerKlientami jest serwer wewnątrzprocesowy.Wystąpienia SQL Server macierzystego klienta OLE DB dostawca obiekty są tworzone przy użyciu makra CLSCTX_INPROC_SERVER oznacza wykonywalny kontekstu.

SQL Server Macierzystego klienta danych OLE DB provider obiekt źródłowy uwidacznia interfejsy Inicjowanie OLE DB, które umożliwiają konsumentowi Połącz z istniejącym SQL Server baz danych.

Każde połączenie ustanowione przez SQL Server macierzystego klienta dostawca OLE DB automatycznie ustawia te opcje:

  • ZESTAW ANSI_WARNINGS NA

  • ZESTAW ANSI_NULLS NA

  • ZESTAW SPOWODOWAŁYBY NA

  • ZESTAW Z ANSI_NULL_DFLT_ON

  • SET QUOTED_IDENTIFIER ON

  • ZESTAW Z CONCAT_OF_NULL_YIELDS_NULL

W tym przykładzie użyto makro identyfikator klasy, aby utworzyć SQL Server macierzystego klienta danych OLE DB dostawca obiekt źródłowy i uzyskać odniesienie do jego IDBInitialize interfejs.

IDBInitialize*   pIDBInitialize;
HRESULT          hr;

hr = CoCreateInstance(CLSID_SQLNCLI10, NULL, CLSCTX_INPROC_SERVER,
    IID_IDBInitialize, (void**) &pIDBInitialize);

if (SUCCEEDED(hr))
{
    //  Perform necessary processing with the interface.
    pIDBInitialize->Uninitialize();
    pIDBInitialize->Release();
}
else
{
    // Display error from CoCreateInstance.
}

Z utworzenia wystąpienie SQL Server macierzystego klienta danych OLE DB dostawca obiekt źródłowy, aplikacja konsument może kontynuować inicjowania źródło danych i tworzenia sesji.Sesje OLE DB stanowią interfejsy, które umożliwiają dostęp do danych i manipulowania nimi.

SQL Server Macierzystego klienta dostawca OLE DB sprawia, że jego pierwszego połączenia do określonego wystąpienie SQL Server jako część danych pomyślne źródło inicjalizacji.Połączenie jest utrzymywane tak długo, jak odwołanie jest utrzymywana w dowolnym interfejs inicjowania źródło danych lub do IDBInitialize::Uninitialize wywoływana jest metoda.