Fournisseur Microsoft OLE DB pour SQL Server
S’applique à : Access 2013, Office 2013
Le fournisseur Microsoft OLE DB pour SQL Server (SQLOLEDB) permet à ADO d'accéder à Microsoft SQL Server.
Paramètres de la chaîne de connexion
Pour vous connecter à ce fournisseur, définissez l’argument Provider de la propriété ConnectionString sur :
SQLOLEDB
Cette valeur peut également être définie ou lue à partire de la propriété Provider.
Chaîne de connexion classique
Voici une chaîne de connexion classique pour ce fournisseur :
"Provider=SQLOLEDB;Data Source=serverName;"
Initial Catalog=databaseName;
User ID=userName;Password=userPassword;"
La chaîne est composée des mots clé suivants :
Mot clé |
Description |
---|---|
Provider |
Spécifie le fournisseur OLE DB pour SQL Server. |
Data Source ou Server |
Spécifie le nom d'un serveur. |
Initial Catalog ou Database |
Spécifie le nom d'une base de données sur le serveur. |
User ID ou uid |
Spécifie le nom de l'utilisateur (pour l'authentification par SQL Server). |
Password ou pwd |
Spécifie le mot de passe de l'utilisateur (pour l'authentification par SQL Server). |
Paramètres de connexion spécifiques au fournisseur
Le fournisseur prend en charge plusieurs paramètres de connexion qui lui sont spécifiques en plus de ceux définis par ADO. Comme les propriétés de connexion ADO, ces propriétés spécifiques au fournisseur peuvent être définies via la collection Properties d’un objet Connection ou dans ConnectionString.
Paramètre |
Description |
---|---|
Trusted_Connection |
Indique le mode d’authentification de l’utilisateur. Peut être défini sur Oui ou sur Non. La valeur par défaut est Non. Si cette propriété est définie sur Oui , SQLOLEDB utilise le mode d’authentification Microsoft Windows NT pour autoriser l’accès de l’utilisateur à la base de données SQL Server spécifiée par les valeurs des propriétés Location et Datasource. Si cette propriété est définie sur Non , SQLOLEDB utilise le mode mixte. Le nom de connexion et le mot de passe SQL Server sont spécifiés dans les propriétés User Id et Password. |
Current Language |
Indique le nom de la langue utilisée dans SQL Server. Identifie la langue choisie pour la sélection et la mise en forme des messages système. La langue doit être installée sur le serveur SQL ; sinon, la tentative de connexion échouera. |
Network Address |
Indique l'adresse réseau du serveur SQL spécifiée par la propriété Location . |
Network Library |
Indique le nom de la bibliothèque réseau (bibliothèques de liens dynamiques) utilisée pour communiquer avec le serveur SQL. Le nom ne doit pas inclure le chemin d’accès ni l’extension de nom de fichier .dll. La valeur par défaut est fournie par la configuration du client SQL Server. |
Use Procedure for Prepare |
Détermine si SQL Server crée des procédures stockées temporaires lors de la préparation de commandes (à l'aide de la propriété Prepared). |
Auto Translate |
Indique si les caractères OEM/ANSI sont convertis. Cette propriété peut avoir la valeur True ou False . La valeur par défaut est True. Si cette propriété est définie sur True , SQLOLEDB effectue la conversion OEM/ANSI des caractères lorsque des chaînes de caractères multioctets sont extraites du serveur SQL ou sont envoyées vers ce serveur. Si cette propriété est définie sur False , SQLOLEDB n'effectue pas de conversion OEM/ANSI des caractères sur les données des chaînes de caractères multioctets. |
Packet Size |
Indique la taille du paquet réseau en octets. La valeur de cette propriété doit être comprise entre 512 et 32 767. Par défaut, la taille du paquet réseau pour SQLOLEDB est de 4096. |
Application Name |
Indique le nom de l'application cliente. |
Workstation ID |
Chaîne identifiant la station de travail. |
Utilisation de l'objet Command
SQLOLEDB accepte comme valide une syntaxe mixte associant ODBC, ANSI et le langage Transact-SQL spécifique à SQL Server. Par exemple, l'instruction SQL suivante utilise une séquence d'échappement SQL ODBC pour spécifier la fonction de chaîne LCASE :
SELECT customerid={fn LCASE(CustomerID)} FROM Customers
LCASE renvoie une chaîne de caractères en convertissant tous les caractères majuscules en leurs équivalents minuscules. Dans le langage SQL ANSI, la fonction de chaîne LOWER effectue la même opération ; l'instruction SQL suivante est donc l'équivalent ANSI de l'instruction ODBC présentée ci-dessus :
SELECT customerid=LOWER(CustomerID) FROM Customers
SQLOLEDB est capable de traiter cette instruction sous ces deux formes lorsqu'elle apparaît dans le texte d'une commande.
Procédures stockées
Pour exécuter une procédure stockée SQL Server à l'aide d'une commande SQLOLEDB, utilisez la séquence d'échappement d'appel de procédure ODBC dans le texte de commande. SQLOLEDB utilise alors le mécanisme d'appel de procédure distante (RPC) de SQL Server pour optimiser le traitement de la commande. Par exemple, l'instruction SQL ODBC suivante est préférable dans le texte de commande à la forme Transact-SQL :
SQL ODBC
{call SalesByCategory('Produce', '1995')}
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'
Comportement des jeux d'enregistrements
SQLOLEDB ne peut pas utiliser les curseurs SQL Server pour prendre en charge les multiples résultats générés par plusieurs commandes. Lorsqu'un utilisateur demande un jeu d'enregistrements nécessitant la prise en charge des curseurs SQL Server, une erreur se produit si le texte de commande utilisé génère un résultat contenant plusieurs jeux d'enregistrements.
Les jeux d'enregistrements SQLOLEDB avec fonction de défilement sont pris en charge par les curseurs SQL Server. SQL Server impose des limitations sur les curseurs sensibles aux modifications effectuées par d'autres utilisateurs de la base de données. Par exemple, il est impossible d'ordonner les lignes de certains curseurs et les tentatives de création d'un jeu d'enregistrements à l'aide d'une commande contenant une clause SQL ORDER BY peuvent échouer.
Propriétés dynamiques
Le fournisseur Microsoft OLE DB pour SQL Server insère plusieurs propriétés dynamiques dans la collection Properties des objets Connection, Recordset et Command non ouverts.
Les tableaux suivants forment un index croisé des noms ADO et OLE DB de chaque propriété dynamique. La référence du programmeur OLE DB fait référence à un nom de propriété ADO par le terme « Description ». Vous trouverez plus d’informations sur ces propriétés dans la référence du programmeur OLE DB. Recherchez le nom de la propriété OLE DB dans l'Index ou consultez la rubrique « Appendix C: OLE DB Properties ».
Propriétés dynamiques de connexion
Les propriétés suivantes sont ajoutées à la collection Properties de l'objet Connection.
Nom de la propriété ADO |
Nom de la propriété 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 |
Password |
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 |
Propriétés dynamiques du jeu d'enregitrements
Les propriétés suivantes sont ajoutées à la collection Properties de l'objet Recordset.
Nom de la propriété ADO |
Nom de la propriété 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 |
Updatability |
DBPROP_UPDATABILITY |
Use Bookmarks |
DBPROP_BOOKMARKS |
Propriétés dynamiques de la commande
Les propriétés suivantes sont ajoutées à la collection Properties de l'objet Command.
Nom de la propriété ADO |
Nom de la propriété 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 |
Updatability |
DBPROP_UPDATABILITY |
Use Bookmarks |
DBPROP_BOOKMARKS |
XML Root |
SSPROP_STREAM_XMLROOT |
XSL |
SSPROP_STREAM_XSL |
Pour obtenir des détails spécifiques d'implémentation et des informations fonctionnelles sur le fournisseur Microsoft OLE DB pour SQL Server, consultez la documentation de ce produit dans la section OLE DB du kit de développement logiciel (SDK) de MDAC.