Partilhar via


Visão geral do Provedor Microsoft OLE DB para SQL Server

O Provedor Microsoft OLE DB para SQL Server, o SQLOLEDB, permite que o ADO acesse o Microsoft SQL Server.

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) no futuro.

Parâmetros de cadeia de conexão

Para se conectar a esse provedor, defina o argumento Provider para a propriedade ConnectionString como:

SQLOLEDB

Esse valor também pode ser definido ou lido por meio da propriedade Provider.

Cadeia de conexão típica

Uma cadeia de conexão típica para esse provedor é:

"Provider=SQLOLEDB;Data Source=serverName;"
Initial Catalog=databaseName;
User ID=MyUserID;Password=<password>;"

A cadeia de caracteres consiste nestas palavras-chave:

Palavra-chave Descrição
Provedor Especifica o Provedor OLE DB para SQL Server.
Data Source ou Server Especifica o nome de um servidor.
Initial Catalog ou Database Especifica o nome de um banco de dados no servidor.
User ID ou uid Especifica o nome de usuário (para a Autenticação do SQL Server).
Password ou pwd Especifica a senha do usuário (para a Autenticação do SQL Server).

Observação

Se você estiver se conectando a um provedor de fonte de dados que dá suporte a autenticação do Windows, especifique Trusted_Connection=yes ou Segurança Integrada = SSPI em vez das informações de ID de usuário e de senha na cadeia de conexão.

Parâmetros de conexão específicos do provedor

O provedor dá suporte a vários parâmetros de conexão específicos do provedor, além daqueles definidos pelo ADO. Assim como acontece com as propriedades de conexão do ADO, essas propriedades específicas do provedor podem ser definidas por meio da coleção Properties de uma Properties ou podem ser definidas como parte da ConnectionString.

Parâmetro Descrição
Trusted_Connection Indica o modo de autenticação do usuário. Pode ser definido como Sim ou Não. O valor padrão é Não. Se essa propriedade for definida como Sim, o SQLOLEDB usará o Modo de Autenticação do Microsoft Windows NT para autorizar o acesso do usuário ao banco de dados do SQL Server especificado pelos valores das propriedades Location e Datasource. Se essa propriedade for definida como Não, o SQLOLEDB usará o Modo Misto para autorizar o acesso do usuário ao banco de dados do SQL Server. O logon e a senha do SQL Server são especificados nas propriedades User Id e Password.
Idioma Atual Indica o nome de uma linguagem do SQL Server. Identifica o idioma usado para seleção de mensagem de sistema e formatação. A linguagem precisa ser instalada no SQL Server, caso contrário, a abertura da conexão falhará.
Endereço de rede Indica o endereço de rede do SQL Server especificado pela propriedade Location.
Biblioteca de rede Indica o nome da biblioteca de rede (DLL) usada para se comunicar com o SQL Server. O nome não deve incluir o caminho ou a extensão de nome de arquivo .dll. O padrão é fornecido pela configuração do cliente do SQL Server.
Use Procedure for Prepare Determina se o SQL Server cria procedimentos armazenados temporários quando os Commands são preparados (pela propriedade Prepared).
Tradução automática Indica se os caracteres OEM/ANSI são convertidos. Essa propriedade pode ser definida como True ou False. O valor padrão é True. Se essa propriedade for definida como True, o SQLOLEDB executará a conversão de caracteres OEM/ANSI quando cadeias de caracteres de vários bytes forem recuperadas ou enviadas para o SQL Server. Se essa propriedade for definida como False, o SQLOLEDB não executará a conversão de caracteres OEM/ANSI em dados de cadeia de caracteres de vários bytes.
Packet Size Indica um tamanho de pacote de rede em bytes. O valor da propriedade de tamanho do pacote precisa estar entre 512 e 32.767. O tamanho do pacote padrão do SQLOLEDB é 4.096.
Nome do Aplicativo Indica o nome do aplicativo cliente.
ID da Estação de Trabalho uma cadeia de caracteres que identifica a estação de trabalho.

Uso do objeto Command

O SQLOLEDB aceita uma mistura de ODBC, ANSI e Transact-SQL específico do SQL Server como uma sintaxe válida. Por exemplo, a seguinte instrução SQL usa uma sequência de escape do ODBC SQL para especificar a função de cadeia de caracteres LCASE:

SELECT customerid={fn LCASE(CustomerID)} FROM Customers

LCASE retorna uma cadeia de caracteres, convertendo todos os caracteres em maiúscula aos seus equivalentes em minúsculas. A função de cadeia de caracteres LOWER ANSI SQL executa a mesma operação, ou seja, a seguinte instrução SQL é uma equivalente ANSI da instrução ODBC apresentada anteriormente:

SELECT customerid=LOWER(CustomerID) FROM Customers

O SQLOLEDB processa com sucesso qualquer forma da instrução quando especificado como texto para um comando.

Procedimentos armazenados

Ao executar um procedimento armazenado do SQL Server usando um comando do SQLOLEDB, use a sequência de escape da chamada de procedimento do ODBC no texto do comando. Em seguida, o SQLOLEDB usa o mecanismo de chamada de procedimento remoto do SQL Server para otimizar o processamento do comando. Por exemplo, a seguinte instrução SQL do ODBC é o texto de comando preferível ao formato do Transact-SQL:

ODBC SQL

{call SalesByCategory('Produce', '1995')}

Transact-SQL

EXECUTE SalesByCategory 'Produce', '1995'

Recursos do SQL Server

Com o SQL Server, o ADO pode usar o XML para a entrada de Command e recuperar os resultados no formato do fluxo XML em vez de em objetos Recordset. Para obter mais informações, confira Como usar fluxos para a entrada de comando e Como recuperar os conjuntos de resultados em fluxos.

Como acessar os dados do sql_variant usando o MDAC 2.7, o MDAC 2.8 ou o Windows DAC 6.0

O Microsoft SQL Server tem um tipo de dados chamado sql_variant. Semelhante ao DBTYPE_VARIANT do OLE DB, o tipo de dados sql_variant pode armazenar dados de vários tipos diferentes. No entanto, há algumas diferenças importantes entre o DBTYPE_VARIANT e o sql_variant. O ADO também lida com os dados armazenados como um valor sql_variant diferente de como ele lida com outros tipos de dados. A lista a seguir descreve os problemas a serem considerados quando você acessa os dados do SQL Server armazenados em colunas do tipo sql_variant.

  • No MDAC 2.7, no MDAC 2.8 e no Windows DAC (Windows Data Access Components) 6.0, o Provedor OLE DB para SQL Server dá suporte ao tipo sql_variant. Isso não ocorre com o Provedor OLE DB para ODBC.

  • O tipo sql_variant não corresponde exatamente ao tipo de dados DBTYPE_VARIANT. O tipo sql_variant dá suporte a alguns novos subtipos não compatíveis com DBTYPE_VARIANT, incluindo cadeias de caracteres GUID, ANSI (não UNICODE) e BIGINT. O uso de subtipos diferentes daqueles já listados funcionará corretamente.

  • O subtipo sql_variant NUMERIC não corresponde ao DBTYPE_DECIMAL em tamanho.

  • Várias coerções de tipo de dados resultarão em tipos não correspondentes. Por exemplo, a coerção de um sql_variant com um subtipo de GUID em um DBTYPE_VARIANT resultará em um subtipo de safearray (bytes). A conversão desse tipo novamente em um sql_variant resultará em um novo subtipo de array (bytes).

  • Os campos Recordset que contêm dados sql_variant podem ser acessados remotamente (com marshaling) ou persistidos somente se o sql_variant contém subtipos específicos. A tentativa de acessar remotamente ou persistir dados com os seguintes subtipos sem suporte causará um erro em tempo de execução (conversão sem suporte) do MSPersist (Provedor de Persistência da Microsoft): VT_VARIANT, VT_RECORD, VT_ILLEGAL, VT_UNKNOWN, VT_BSTR e VT_DISPATCH.

  • O Provedor OLE DB para SQL Server no MDAC 2.7, no MDAC 2.8 e no Windows DAC 6.0 tem uma propriedade dinâmica chamada Allow Native Variants que, como o nome indica, permite que os desenvolvedores acessem o sql_variant na forma nativa em vez de um DBTYPE_VARIANT. Se essa propriedade estiver definida e um Recordset for aberto com o Mecanismo de Cursor do Cliente (adUseClient), a chamada a Recordset.Open falhará. Se essa propriedade estiver definida e um Recordset for aberto com cursores de servidor (adUseServer), a chamada a Recordset.Open terá sucesso, mas o acesso às colunas do tipo sql_variant produzirá um erro.

  • Em aplicativos cliente que usam o MDAC 2.5, os dados sql_variant podem ser usados com as consultas no Microsoft SQL Server. No entanto, os valores dos dados sql_variant são tratados como cadeias de caracteres. Esses aplicativos cliente devem ser atualizados para o MDAC 2.7, o MDAC 2.8 ou o Windows DAC 6.0.

Comportamento do Recordset

O SQLOLEDB não pode usar os cursores do SQL Server para dar suporte aos resultados múltiplos gerados por muitos comandos. Se um consumidor solicitar um conjunto de registros que exija o suporte de cursor do SQL Server, ocorrerá um erro se o texto do comando usado gerar mais de um só conjunto de registros como resultado.

Há suporte para conjuntos de registros SQLOLEDB roláveis nos cursores do SQL Server. O SQL Server indica limitações sobre cursores que são sensíveis às alterações feitas por outros usuários do banco de dados. Especificamente, as linhas em alguns cursores não podem ser ordenadas e a tentativa de criar um conjunto de registros usando um comando que contém uma cláusula SQL ORDER BY pode falhar.

Propriedades Dinâmicas

O Provedor Microsoft OLE DB para SQL Server insere várias propriedades dinâmicas na coleção Properties dos objetos Connection, Recordset e Command não abertos.

As tabelas a seguir são um índice cruzado dos nomes ADO e OLE DB para cada propriedade dinâmica. A Referência do Programador do OLE DB refere-se a um nome de propriedade ADO pelo termo "Descrição". Encontre mais informações sobre essas propriedades na Referência do Programador do OLE DB. Procure o nome da propriedade OLE DB no Índice ou confira Apêndice C: Propriedades do OLE DB.

Propriedades dinâmicas de conexão

As propriedades a seguir são adicionadas à coleção Properties do objeto Connection.

Nome da propriedade do ADO Nome da propriedade do OLE DB
Sessões ativas DBPROP_ACTIVESESSIONS
Anulação assíncrona DBPROP_ASYNCTXNABORT
Confirmação assíncrona DBPROP_ASYNCTNXCOMMIT
Níveis de isolamento de confirmação automática DBPROP_SESS_AUTOCOMMITISOLEVELS
Localização do catálogo DBPROP_CATALOGLOCATION
Termo do catálogo DBPROP_CATALOGTERM
Definição da coluna DBPROP_COLUMNDEFINITION
Connect Timeout DBPROP_INIT_TIMEOUT
Catálogo atual DBPROP_CURRENTCATALOG
fonte de dados DBPROP_INIT_DATASOURCE
Nome da Fonte de Dados DBPROP_DATASOURCENAME
Modelo de threading do objeto da fonte de dados DBPROP_DSOTHREADMODEL
Nome do DBMS DBPROP_DBMSNAME
Versão do DBMS DBPROP_DBMSVER
Propriedades estendidas DBPROP_INIT_PROVIDERSTRING
Suporte do GROUP BY DBPROP_GROUPBY
Suporte à tabela heterogênea DBPROP_HETEROGENEOUSTABLES
Diferenciação de maiúsculas e minúsculas do identificador DBPROP_IDENTIFIERCASE
Catálogo Inicial DBPROP_INIT_CATALOG
Níveis de isolamento DBPROP_SUPPORTEDTXNISOLEVELS
Retenção de isolamento DBPROP_SUPPORTEDTXNISORETAIN
Identificador de Localidade DBPROP_INIT_LCID
Tamanho máximo do índice DBPROP_MAXINDEXSIZE
Tamanho máximo da linha DBPROP_MAXROWSIZE
O tamanho máximo da linha inclui BLOB DBPROP_MAXROWSIZEINCLUDESBLOB
Tabelas máximas em SELECT DBPROP_MAXTABLESINSELECT
Vários conjuntos de parâmetros DBPROP_MULTIPLEPARAMSETS
Vários resultados DBPROP_MULTIPLERESULTS
Vários objetos de armazenamento DBPROP_MULTIPLESTORAGEOBJECTS
Atualização de várias tabelas DBPROP_MULTITABLEUPDATE
Ordem do agrupamento NULL DBPROP_NULLCOLLATION
Comportamento de concatenação NULL DBPROP_CONCATNULLBEHAVIOR
Versão do OLE DB DBPROP_PROVIDEROLEDBVER
Suporte ao objeto OLE DBPROP_OLEOBJECTS
Abrir suporte a conjunto de linhas DBPROP_OPENROWSETSUPPORT
Colunas ORDER BY na lista de seleção DBPROP_ORDERBYCOLUMNSINSELECT
Disponibilidade do parâmetro de saída DBPROP_OUTPUTPARAMETERAVAILABILITY
Passar por acessadores de referência DBPROP_BYREFACCESSORS
Senha DBPROP_AUTH_PASSWORD
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO
Tipo de ID persistente DBPROP_PERSISTENTIDTYPE
Preparar o comportamento de anulação DBPROP_PREPAREABORTBEHAVIOR
Preparar o comportamento de confirmação DBPROP_PREPARECOMMITBEHAVIOR
Termo do procedimento DBPROP_PROCEDURETERM
Prompt DBPROP_INIT_PROMPT
Nome amigável do provedor DBPROP_PROVIDERFRIENDLYNAME
Nome do Provedor DBPROP_PROVIDERFILENAME
Versão do provedor DBPROP_PROVIDERVER
Fonte de dados somente leitura DBPROP_DATASOURCEREADONLY
Conversões de conjunto de linhas no comando DBPROP_ROWSETCONVERSIONSONCOMMAND
Termo de esquema DBPROP_SCHEMATERM
Uso do esquema DBPROP_SCHEMAUSAGE
Suporte a SQL DBPROP_SQLSUPPORT
Armazenamento estruturado DBPROP_STRUCTUREDSTORAGE
Suporte à subconsulta DBPROP_SUBQUERIES
Termo da tabela DBPROP_TABLETERM
DDL de transação DBPROP_SUPPORTEDTXNDDL
Id de Usuário DBPROP_AUTH_USERID
Nome do usuário DBPROP_USERNAME
Identificador da Janela DBPROP_INIT_HWND

Propriedades dinâmicas do conjunto de registros

As propriedades a seguir são adicionadas à coleção Properties do objeto Recordset.

Nome da propriedade do ADO Nome da propriedade do OLE DB
Ordem de acesso DBPROP_ACCESSORDER
Bloquear objetos de armazenamento DBPROP_BLOCKINGSTORAGEOBJECTS
Tipos de indicador DBPROP_BOOKMARKTYPE
Pode ter indicador DBPROP_IROWSETLOCATE
Alterar linhas inseridas DBPROP_CHANGEINSERTEDROWS
Privilégios de coluna DBPROP_COLUMNRESTRICT
Notificação do conjunto de colunas DBPROP_NOTIFYCOLUMNSET
Tempo limite do comando DBPROP_COMMANDTIMEOUT
Adiar coluna DBPROP_DEFERRED
Atrasar as atualizações do objeto de armazenamento DBPROP_DELAYSTORAGEOBJECTS
Buscar na ordem inversa DBPROP_CANFETCHBACKWARDS
Reter linhas DBPROP_CANHOLDROWS
IAccessor DBPROP_IAccessor
IColumnsInfo DBPROP_IColumnsInfo
IColumnsRowset DBPROP_IColumnsRowset
IConnectionPointContainer DBPROP_IConnectionPointContainer
IConvertType DBPROP_IConvertType
Linhas fixas DBPROP_IMMOBILEROWS
IRowset DBPROP_IRowset
IRowsetChange DBPROP_IRowsetChange
IRowsetIdentity DBPROP_IRowsetIdentity
IRowsetInfo DBPROP_IRowsetInfo
IRowsetLocate DBPROP_IRowsestLocate
IRowsetResynch
IRowsetScroll DBPROP_IRowsetScroll
IRowsetUpdate DBPROP_IRowsetUpdate
ISequentialStream DBPROP_ISequentialStream
ISupportErrorInfo DBPROP_ISupportErrorInfo
Indicadores literais DBPROP_LITERALBOOKMARKS
Identidade de linha literal DBPROP_LITERALIDENTITY
Máximo de linhas abertas DBPROP_MAXOPENROWS
Máximo de linhas pendentes DBPROP_MAXPENDINGROWS
Máximo de linhas DBPROP_MAXROWS
Granularidade de notificação DBPROP_NOTIFICATIONGRANULARITY
Fases de notificação DBPROP_NOTIFICATIONPHASES
Objetos transacionados DBPROP_TRANSACTEDOBJECT
Alterações visíveis de outras pessoas DBPROP_OTHERUPDATEDELETE
Inserções visíveis de outras pessoas DBPROP_OTHERINSERT
Próprias alterações visíveis DBPROP_OWNUPDATEDELETE
Próprias inserções visíveis DBPROP_OWNINSERT
Preservar ao anular DBPROP_ABORTPRESERVE
Preservar ao confirmar DBPROP_COMMITPRESERVE
Reinicialização rápida DBPROP_QUICKRESTART
Eventos de reentrada DBPROP_REENTRANTEVENTS
Remover linhas excluídas DBPROP_REMOVEDELETED
Relatar várias alterações DBPROP_REPORTMULTIPLECHANGES
Retornar inserções pendentes DBPROP_RETURNPENDINGINSERTS
Notificação de exclusão de linha DBPROP_NOTIFYROWDELETE
Notificação de primeira alteração de linha DBPROP_NOTIFYROWFIRSTCHANGE
Notificação de inserção de linha DBPROP_NOTIFYROWINSERT
Privilégios de linha DBPROP_ROWRESTRICT
Notificação de ressincronização de linha DBPROP_NOTIFYROWRESYNCH
Modelo de threading de linha DBPROP_ROWTHREADMODEL
Notificação de alteração da ação desfazer linha DBPROP_NOTIFYROWUNDOCHANGE
Notificação de exclusão da ação desfazer linha DBPROP_NOTIFYROWUNDODELETE
Notificação de inserção da ação desfazer linha DBPROP_NOTIFYROWUNDOINSERT
Notificação de atualização de linha DBPROP_NOTIFYROWUPDATE
Notificação de alteração de posição de busca do conjunto de linhas DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE
Notificação de versão do conjunto de linhas DBPROP_NOTIFYROWSETRELEASE
Rolar na ordem inversa DBPROP_CANSCROLLBACKWARDS
Cursor de servidor DBPROP_SERVERCURSOR
Ignorar indicadores excluídos DBPROP_BOOKMARKSKIPPED
Identidade de linha forte DBPROP_STRONGITDENTITY
Linhas exclusivas DBPROP_UNIQUEROWS
Capacidade de atualização DBPROP_UPDATABILITY
Usar indicadores DBPROP_BOOKMARKS

Propriedades dinâmicas de Command

As propriedades a seguir são adicionadas à coleção Properties do objeto Command.

Nome da propriedade do ADO Nome da propriedade do OLE DB
Ordem de acesso DBPROP_ACCESSORDER
Base Path SSPROP_STREAM_BASEPATH
Bloquear objetos de armazenamento DBPROP_BLOCKINGSTORAGEOBJECTS
Tipos de indicador DBPROP_BOOKMARKTYPE
Pode ter indicador DBPROP_IROWSETLOCATE
Alterar linhas inseridas DBPROP_CHANGEINSERTEDROWS
Privilégios de coluna DBPROP_COLUMNRESTRICT
Notificação do conjunto de colunas DBPROP_NOTIFYCOLUMNSET
Tipo de conteúdo SSPROP_STREAM_CONTENTTYPE
Cursor Auto Fetch SSPROP_CURSORAUTOFETCH
Adiar coluna DBPROP_DEFERRED
Adiar Preparação SSPROP_DEFERPREPARE
Atrasar as atualizações do objeto de armazenamento DBPROP_DELAYSTORAGEOBJECTS
Buscar na ordem inversa DBPROP_CANFETCHBACKWARDS
Reter linhas DBPROP_CANHOLDROWS
IAccessor DBPROP_IAccessor
IColumnsInfo DBPROP_IColumnsInfo
IColumnsRowset DBPROP_IColumnsRowset
IConnectionPointContainer DBPROP_IConnectionPointContainer
IConvertType DBPROP_IConvertType
Linhas fixas DBPROP_IMMOBILEROWS
IRowset DBPROP_IRowset
IRowsetChange DBPROP_IRowsetChange
IRowsetIdentity DBPROP_IRowsetIdentity
IRowsetInfo DBPROP_IRowsetInfo
IRowsetLocate DBPROP_IRowsetLocate
IRowsetResynch DBPROP_IRowsetResynch
IRowsetScroll DBPROP_IRowsetScroll
IRowsetUpdate DBPROP_IRowsetUpdate
ISequentialStream DBPROP_ISequentialStream
ISupportErrorInfo DBPROP_ISupportErrorInfo
Indicadores literais DBPROP_LITERALBOOKMARKS
Identidade de linha literal DBPROP_LITERALIDENTITY
Modo de Bloqueio DBPROP_LOCKMODE
Máximo de linhas abertas DBPROP_MAXOPENROWS
Máximo de linhas pendentes DBPROP_MAXPENDINGROWS
Máximo de linhas DBPROP_MAXROWS
Granularidade de notificação DBPROP_NOTIFICATIONGRANULARITY
Fases de notificação DBPROP_NOTIFICATIONPHASES
Objetos transacionados DBPROP_TRANSACTEDOBJECT
Alterações visíveis de outras pessoas DBPROP_OTHERUPDATEDELETE
Inserções visíveis de outras pessoas DBPROP_OTHERINSERT
Output Encoding Property DBPROP_OUTPUTENCODING
Output Stream Property DBPROP_OUTPUTSTREAM
Próprias alterações visíveis DBPROP_OWNUPDATEDELETE
Próprias inserções visíveis DBPROP_OWNINSERT
Preservar ao anular DBPROP_ABORTPRESERVE
Preservar ao confirmar DBPROP_COMMITPRESERVE
Reinicialização rápida DBPROP_QUICKRESTART
Eventos de reentrada DBPROP_REENTRANTEVENTS
Remover linhas excluídas DBPROP_REMOVEDELETED
Relatar várias alterações DBPROP_REPORTMULTIPLECHANGES
Retornar inserções pendentes DBPROP_RETURNPENDINGINSERTS
Notificação de exclusão de linha DBPROP_NOTIFYROWDELETE
Notificação de primeira alteração de linha DBPROP_NOTIFYROWFIRSTCHANGE
Notificação de inserção de linha DBPROP_NOTIFYROWINSERT
Privilégios de linha DBPROP_ROWRESTRICT
Notificação de ressincronização de linha DBPROP_NOTIFYROWRESYNCH
Modelo de threading de linha DBPROP_ROWTHREADMODEL
Notificação de alteração da ação desfazer linha DBPROP_NOTIFYROWUNDOCHANGE
Notificação de exclusão da ação desfazer linha DBPROP_NOTIFYROWUNDODELETE
Notificação de inserção da ação desfazer linha DBPROP_NOTIFYROWUNDOINSERT
Notificação de atualização de linha DBPROP_NOTIFYROWUPDATE
Notificação de alteração de posição de busca do conjunto de linhas DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE
Notificação de versão do conjunto de linhas DBPROP_NOTIFYROWSETRELEASE
Rolar na ordem inversa DBPROP_CANSCROLLBACKWARDS
Cursor de servidor DBPROP_SERVERCURSOR
Server Data on Insert DBPROP_SERVERDATAONINSERT
Ignorar indicadores excluídos DBPROP_BOOKMARKSKIP
Identidade de linha forte DBPROP_STRONGIDENTITY
Capacidade de atualização DBPROP_UPDATABILITY
Usar indicadores DBPROP_BOOKMARKS
XML Root SSPROP_STREAM_XMLROOT
XSL SSPROP_STREAM_XSL

Para obter detalhes específicos da implementação e informações funcionais sobre o Provedor OLE DB do Microsoft SQL Server, confira o Provedor do SQL Server.

Confira também

Propriedade ConnectionString (ADO)Propriedade Provider (ADO)Objeto Recordset (ADO)