Compartilhar via


Provedor Microsoft OLE DB para SQL Server

Aplica-se ao: Access 2013, Office 2013

O Microsoft OLE DB Provider for SQL Server, SQLOLEDB, permite que o ADO acesse o Microsoft SQL Server.

Parâmetros da sequência de conexão

Para estabelecer uma conexão com esse provedor, defina o argumento Provider= para a propriedade ConnectionString como:

 
SQLOLEDB 

Esse valor também pode ser definido ou lido usando a propriedade Provider.

Sequência de conexão típica

Esta é uma sequência de conexão típica para esse provedor:

 
"Provider=SQLOLEDB;Data Source=serverName;" 
Initial Catalog=databaseName; 
User ID=userName;Password=userPassword;" 

A cadeia de caracteres consiste nas seguintes palavras-chave:

Palavra-chave

Descrição

Provider

Especifica o Microsoft OLE DB Provider for 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 do usuário (para autenticação no SQL Server).

Password ou pwd

Especifica a senha do usuário (para autenticação no SQL Server).

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

O provedor oferece suporte a vários parâmetros de conexão específicos para provedor, além daqueles definidos pelo ADO. Assim como as propriedades de conexão do ADO, essas propriedades específicas para provedor podem ser definidas pela coleção Properties de um objeto Connection ou como parte da ConnectionString.

Parâmetro

Descrição

Trusted_connection

Indica o modo de autenticação do usuário. Pode ser definido como Yes ou No. O valor padrão é No. Se esta propriedade for definida como Yes, 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 esta propriedade for definida como No, o SQLOLEDB usará o Modo Misto para autorizar o acesso do usuário ao banco de dados do SQL Server. O logon e senha para acesso ao SQL Server são especificados nas propriedades User Id e Password.

Current Language

Indica o nome de um idioma no SQL Server. Identifica o idioma utilizado para a seleção e formatação de mensagens do sistema. Se esse idioma não estiver instalado no SQL Server, ocorrerá falha na abertura da conexão.

Network Address

Indica o endereço de rede do SQL Server especificado pela propriedade Location.

Network Library

Indica o nome da biblioteca de rede (bibliotecas de vínculo dinâmico) utilizada para a comunicação com o SQL Server. O nome não deve incluir o caminho nem a extensão .dll do nome do arquivo. O padrão é fornecido pela configuração do cliente SQL Server.

Use Procedure for Prepare

Determina se o SQL Server cria procedimentos armazenados temporários quando Commands são preparados (pela propriedade Prepared).

Auto Translate

Indica se os caracteres OEM/ANSI serão convertidos. Esta propriedade pode ser definida como True ou False. O valor padrão é True. Se esta propriedade for definida como True, o SQLOLEDB realizará a conversão de caracteres OEM/ANSI sempre que cadeias de caracteres de bytes múltiplos forem recuperadas no SQL Server ou enviadas para ele. Se for definida como False, o SQLOLEDB não realizará a conversão de caracteres OEM/ANSI em dados de cadeias de caracteres de bytes múltiplos.

Packet Size

Indica o tamanho de um pacote de rede em bytes. O valor desta propriedade deverá estar entre 512 e 32767. O tamanho padrão do pacote de rede SQLOLEDB é 4096.

Application Name

Indica o nome do aplicativo cliente.

Workstation ID

Uma cadeia de caracteres identificando a estação de trabalho.

Uso do objeto Command

O SQLOLEDB aceita uma combinação de ODBC, ANSI e Transact-SQL específico do SQL Server como sintaxe válida. Por exemplo, esta instrução SQL utiliza uma sequência de escape 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 maiúsculos para seus equivalentes minúsculos. A função da sequência ANSI SQL LOWER executa a mesma operação, sendo assim, esta instrução SQL é um equivalente ANSI da instrução ODBC acima:

 
SELECT customerid=LOWER(CustomerID) FROM Customers 

O SQLOLEDB processará com sucesso ambas as formas desta instrução, quando especificadas como texto para um comando.

Procedimentos armazenados

Ao executar um procedimento armazenado do SQL Server utilizando um comando SQLOLEDB, use a sequência de escape de chamada de procedimento ODBC no texto de comando. Assim, o SQLOLEDB usará o mecanismo de chamada de procedimento remoto do SQL Server para otimizar o processamento do comando. Por exemplo, esta instrução ODBC SQL no texto de comando é preferível ao Transact-SQL:

ODBC SQL

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

Transact-SQL

 
EXECUTE SalesByCategory 'Produce', '1995' 

Comportamento do Recordset

O SQLOLEDB não pode usar cursores do SQL Server para oferecer suporte aos múltiplos resultados gerados por vários comandos. Se um consumidor solicitar um conjunto de registros que exija suporte a cursores do SQL Server, ocorrerá um erro caso o texto de comando utilizado gere mais que um único conjunto de registros como resultado.

Os cursores do SQL Server oferecem suporte a conjuntos de registros roláveis do SQLOLEDB. O SQL Server impõe certas limitações a cursores que sejam sensíveis a alterações feitas por outros usuários do banco de dados. Especificamente, as linhas em alguns cursores não podem ser classificadas, e qualquer tentativa de criar um conjunto de registros usando um comando que contenha uma cláusula SQL ORDER BY poderá falhar.

Propriedades dinâmicas

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

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

Propriedades dinâmicas de Connection

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

Nome da propriedade do ADO

Nome da propriedade do OLE DB

Active Sessions

DBPROP_ACTIVESESSIONS

Asynchable Abort

DBPROP_ASYNCTXNABORT

Asynchable Commit

DBPROP_ASYNCTNXCOMMIT

Autocommit Isolation Levels

DBPROP_SESS_AUTOCOMMITISOLEVELS

Catalog Location

DBPROP_CATALOGLOCATION

Catalog Term

DBPROP_CATALOGTERM

Column Definition

DBPROP_COLUMNDEFINITION

Connect Timeout

DBPROP_INIT_TIMEOUT

Current Catalog

DBPROP_CURRENTCATALOG

Data Source

DBPROP_INIT_DATASOURCE

Data Source Name

DBPROP_DATASOURCENAME

Data Source Object Threading Model

DBPROP_DSOTHREADMODEL

DBMS Name

DBPROP_DBMSNAME

DBMS Version

DBPROP_DBMSVER

Extended Properties

DBPROP_INIT_PROVIDERSTRING

GROUP BY Support

DBPROP_GROUPBY

Heterogeneous Table Support

DBPROP_HETEROGENEOUSTABLES

Identifier Case Sensitivity

DBPROP_IDENTIFIERCASE

Initial Catalog

DBPROP_INIT_CATALOG

Isolation Levels

DBPROP_SUPPORTEDTXNISOLEVELS

Isolation Retention

DBPROP_SUPPORTEDTXNISORETAIN

Locale Identifier

DBPROP_INIT_LCID

Maximum Index Size

DBPROP_MAXINDEXSIZE

Maximum Row Size

DBPROP_MAXROWSIZE

Maximum Row Size Includes BLOB

DBPROP_MAXROWSIZEINCLUDESBLOB

Maximum Tables in SELECT

DBPROP_MAXTABLESINSELECT

Multiple Parameter Sets

DBPROP_MULTIPLEPARAMSETS

Multiple Results

DBPROP_MULTIPLERESULTS

Multiple Storage Objects

DBPROP_MULTIPLESTORAGEOBJECTS

Multi-Table Update

DBPROP_MULTITABLEUPDATE

NULL Collation Order

DBPROP_NULLCOLLATION

NULL Concatenation Behavior

DBPROP_CONCATNULLBEHAVIOR

OLE DB Version

DBPROP_PROVIDEROLEDBVER

OLE Object Support

DBPROP_OLEOBJECTS

Open Rowset Support

DBPROP_OPENROWSETSUPPORT

ORDER BY Columns in Select List

DBPROP_ORDERBYCOLUMNSINSELECT

Output Parameter Availability

DBPROP_OUTPUTPARAMETERAVAILABILITY

Pass By Ref Accessors

DBPROP_BYREFACCESSORS

Senha

DBPROP_AUTH_PASSWORD

Persist Security Info

DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO

Persistent ID Type

DBPROP_PERSISTENTIDTYPE

Prepare Abort Behavior

DBPROP_PREPAREABORTBEHAVIOR

Prepare Commit Behavior

DBPROP_PREPARECOMMITBEHAVIOR

Procedure Term

DBPROP_PROCEDURETERM

Prompt

DBPROP_INIT_PROMPT

Provider Friendly Name

DBPROP_PROVIDERFRIENDLYNAME

Provider Name

DBPROP_PROVIDERFILENAME

Provider Version

DBPROP_PROVIDERVER

Read-Only Data Source

DBPROP_DATASOURCEREADONLY

Rowset Conversions on Command

DBPROP_ROWSETCONVERSIONSONCOMMAND

Schema Term

DBPROP_SCHEMATERM

Schema Usage

DBPROP_SCHEMAUSAGE

SQL Support

DBPROP_SQLSUPPORT

Structured Storage

DBPROP_STRUCTUREDSTORAGE

Subquery Support

DBPROP_SUBQUERIES

Table Term

DBPROP_TABLETERM

Transaction DDL

DBPROP_SUPPORTEDTXNDDL

User ID

DBPROP_AUTH_USERID

User Name

DBPROP_USERNAME

Window Handle

DBPROP_INIT_HWND

Propriedades dinâmicas do Recordset

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

Nome da propriedade do ADO

Nome da propriedade do OLE DB

Access Order

DBPROP_ACCESSORDER

Blocking Storage Objects

DBPROP_BLOCKINGSTORAGEOBJECTS

Bookmark Type

DBPROP_BOOKMARKTYPE

Bookmarkable

DBPROP_IROWSETLOCATE

Change Inserted Rows

DBPROP_CHANGEINSERTEDROWS

Column Privileges

DBPROP_COLUMNRESTRICT

Column Set Notification

DBPROP_NOTIFYCOLUMNSET

Command Time Out

DBPROP_COMMANDTIMEOUT

Defer Column

DBPROP_DEFERRED

Delay Storage Object Updates

DBPROP_DELAYSTORAGEOBJECTS

Fetch Backwards

DBPROP_CANFETCHBACKWARDS

Hold Rows

DBPROP_CANHOLDROWS

Iaccessor

DBPROP_IAccessor

Icolumnsinfo

DBPROP_IColumnsInfo

Icolumnsrowset

DBPROP_IColumnsRowset

IConnectionPointContainer

DBPROP_IConnectionPointContainer

Iconverttype

DBPROP_IConvertType

Immobile Rows

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

Literal Bookmarks

DBPROP_LITERALBOOKMARKS

Literal Row Identity

DBPROP_LITERALIDENTITY

Maximum Open Rows

DBPROP_MAXOPENROWS

Maximum Pending Rows

DBPROP_MAXPENDINGROWS

Maximum Rows

DBPROP_MAXROWS

Notification Granularity

DBPROP_NOTIFICATIONGRANULARITY

Notification Phases

DBPROP_NOTIFICATIONPHASES

Objects Transacted

DBPROP_TRANSACTEDOBJECT

Others' Changes Visible

DBPROP_OTHERUPDATEDELETE

Others' Inserts Visible

DBPROP_OTHERINSERT

Own Changes Visible

DBPROP_OWNUPDATEDELETE

Own Inserts Visible

DBPROP_OWNINSERT

Preserve on Abort

DBPROP_ABORTPRESERVE

Preserve on Commit

DBPROP_COMMITPRESERVE

Quick Restart

DBPROP_QUICKRESTART

Reentrant Events

DBPROP_REENTRANTEVENTS

Remove Deleted Rows

DBPROP_REMOVEDELETED

Report Multiple Changes

DBPROP_REPORTMULTIPLECHANGES

Return Pending Inserts

DBPROP_RETURNPENDINGINSERTS

Row Delete Notification

DBPROP_NOTIFYROWDELETE

Row First Change Notification

DBPROP_NOTIFYROWFIRSTCHANGE

Row Insert Notification

DBPROP_NOTIFYROWINSERT

Row Privileges

DBPROP_ROWRESTRICT

Row Resynchronization Notification

DBPROP_NOTIFYROWRESYNCH

Row Threading Model

DBPROP_ROWTHREADMODEL

Row Undo Change Notification

DBPROP_NOTIFYROWUNDOCHANGE

Row Undo Delete Notification

DBPROP_NOTIFYROWUNDODELETE

Row Undo Insert Notification

DBPROP_NOTIFYROWUNDOINSERT

Row Update Notification

DBPROP_NOTIFYROWUPDATE

Rowset Fetch Position Change Notification

DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE

Rowset Release Notification

DBPROP_NOTIFYROWSETRELEASE

Scroll Backwards

DBPROP_CANSCROLLBACKWARDS

Server Cursor

DBPROP_SERVERCURSOR

Skip Deleted Bookmarks

DBPROP_BOOKMARKSKIPPED

Strong Row Identity

DBPROP_STRONGITDENTITY

Unique Rows

DBPROP_UNIQUEROWS

Atualização

DBPROP_UPDATABILITY

Use Bookmarks

DBPROP_BOOKMARKS

Propriedades dinâmicas do Command

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

Nome da propriedade do ADO

Nome da propriedade do OLE DB

Access Order

DBPROP_ACCESSORDER

Base Path

SSPROP_STREAM_BASEPATH

Blocking Storage Objects

DBPROP_BLOCKINGSTORAGEOBJECTS

Bookmark Type

DBPROP_BOOKMARKTYPE

Bookmarkable

DBPROP_IROWSETLOCATE

Change Inserted Rows

DBPROP_CHANGEINSERTEDROWS

Column Privileges

DBPROP_COLUMNRESTRICT

Column Set Notification

DBPROP_NOTIFYCOLUMNSET

Content Type

SSPROP_STREAM_CONTENTTYPE

Cursor Auto Fetch

SSPROP_CURSORAUTOFETCH

Defer Column

DBPROP_DEFERRED

Defer Prepare

SSPROP_DEFERPREPARE

Delay Storage Object Updates

DBPROP_DELAYSTORAGEOBJECTS

Fetch Backwards

DBPROP_CANFETCHBACKWARDS

Hold Rows

DBPROP_CANHOLDROWS

Iaccessor

DBPROP_IAccessor

Icolumnsinfo

DBPROP_IColumnsInfo

Icolumnsrowset

DBPROP_IColumnsRowset

IConnectionPointContainer

DBPROP_IConnectionPointContainer

Iconverttype

DBPROP_IConvertType

Immobile Rows

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

Literal Bookmarks

DBPROP_LITERALBOOKMARKS

Literal Row Identity

DBPROP_LITERALIDENTITY

Lock Mode

DBPROP_LOCKMODE

Maximum Open Rows

DBPROP_MAXOPENROWS

Maximum Pending Rows

DBPROP_MAXPENDINGROWS

Maximum Rows

DBPROP_MAXROWS

Notification Granularity

DBPROP_NOTIFICATIONGRANULARITY

Notification Phases

DBPROP_NOTIFICATIONPHASES

Objects Transacted

DBPROP_TRANSACTEDOBJECT

Others' Changes Visible

DBPROP_OTHERUPDATEDELETE

Others' Inserts Visible

DBPROP_OTHERINSERT

Output Encoding Property

DBPROP_OUTPUTENCODING

Output Stream Property

DBPROP_OUTPUTSTREAM

Own Changes Visible

DBPROP_OWNUPDATEDELETE

Own Inserts Visible

DBPROP_OWNINSERT

Preserve on Abort

DBPROP_ABORTPRESERVE

Preserve on Commit

DBPROP_COMMITPRESERVE

Quick Restart

DBPROP_QUICKRESTART

Reentrant Events

DBPROP_REENTRANTEVENTS

Remove Deleted Rows

DBPROP_REMOVEDELETED

Report Multiple Changes

DBPROP_REPORTMULTIPLECHANGES

Return Pending Inserts

DBPROP_RETURNPENDINGINSERTS

Row Delete Notification

DBPROP_NOTIFYROWDELETE

Row First Change Notification

DBPROP_NOTIFYROWFIRSTCHANGE

Row Insert Notification

DBPROP_NOTIFYROWINSERT

Row Privileges

DBPROP_ROWRESTRICT

Row Resynchronization Notification

DBPROP_NOTIFYROWRESYNCH

Row Threading Model

DBPROP_ROWTHREADMODEL

Row Undo Change Notification

DBPROP_NOTIFYROWUNDOCHANGE

Row Undo Delete Notification

DBPROP_NOTIFYROWUNDODELETE

Row Undo Insert Notification

DBPROP_NOTIFYROWUNDOINSERT

Row Update Notification

DBPROP_NOTIFYROWUPDATE

Rowset Fetch Position Change Notification

DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE

Rowset Release Notification

DBPROP_NOTIFYROWSETRELEASE

Scroll Backwards

DBPROP_CANSCROLLBACKWARDS

Server Cursor

DBPROP_SERVERCURSOR

Server Data on Insert

DBPROP_SERVERDATAONINSERT

Skip Deleted Bookmarks

DBPROP_BOOKMARKSKIP

Strong Row Identity

DBPROP_STRONGIDENTITY

Atualização

DBPROP_UPDATABILITY

Use Bookmarks

DBPROP_BOOKMARKS

XML Root

SSPROP_STREAM_XMLROOT

XSL

SSPROP_STREAM_XSL

Para obter detalhes específicos sobre a implementação e informações funcionais sobre o Microsoft OLE DB Provider for SQL Server, consulte a documentação do OLE DB Provider for SQL Server na seção OLE DB do MDAC SDK.