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.