Partilhar via


Objetos de fonte de dados (OLE DB)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Baixar o driver do OLE DB

O OLE DB Driver for SQL Server usa o termo fonte de dados para o conjunto de interfaces OLE DB usadas para estabelecer um vínculo com um armazenamento de dados, como o SQL Server. Criar uma instância do objeto de fonte de dados do provedor é a primeira tarefa de um consumidor do Driver do OLE DB para SQL Server.

Todo provedor do OLE DB declara um identificador de classe (CLSID) para si mesmo. O CLSID para o Driver do OLE DB para SQL Server é o GUID do C/C++, CLSID_MSOLEDBSQL (o símbolo MSOLEDBSQL_CLSID será resolvido para o ProgID correto no arquivo msoledbsql.h referenciado). Com o CLSID, o consumidor usa a função CoCreateInstance do OLE para produzir uma instância do objeto de fonte de dados.

O Driver do OLE DB para SQL Server é um servidor em processo. As instâncias dos objetos do OLE DB Driver for SQL Server são criadas usando a macro CLSCTX_INPROC_SERVER para indicar o contexto executável.

O objeto da fonte de dados do OLE DB Driver for SQL Server expõe as interfaces de inicialização do OLE DB que permitem ao consumidor se conectar aos bancos de dados do SQL Server existentes.

Toda conexão estabelecida por meio do Driver do OLE DB para SQL Server define estas opções automaticamente:

  • SET ANSI_WARNINGS ON
  • SET ANSI_NULLS ON
  • SET ANSI_PADDING ON
  • SET ANSI_NULL_DFLT_ON ON
  • SET QUOTED_IDENTIFIER ON
  • SET CONCAT_OF_NULL_YIELDS_NULL ON

Este exemplo usa a macro de identificador de classe para criar um objeto de fonte de dados do OLE DB Driver for SQL Server e obter uma referência à sua interface IDBInitialize.

IDBInitialize*   pIDBInitialize;
HRESULT          hr;

hr = CoCreateInstance(CLSID_MSOLEDBSQL, 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.
}

Com a criação bem-sucedida de uma instância de um objeto de fonte de dados do OLE DB Driver for SQL Server, o aplicativo de consumidor pode continuar inicializando a fonte de dados e criando sessões. As sessões de OLE DB apresentam as interfaces que permitem acesso e manipulação de dados.

O OLE DB Driver for SQL Server estabelece sua primeira conexão com uma instância especificada do SQL Server como parte de uma inicialização de fonte de dados bem-sucedida. A conexão é mantida, desde que uma referência seja mantida em qualquer interface de inicialização de fonte de dados, ou até que o método IDBInitialize::Uninitialize seja chamado.

Nesta seção

Consulte Também

Programação no Driver do OLE DB para SQL Server