Objets OLE Automation dans Transact-SQL
S'applique à : SQL Server
Transact-SQL contient plusieurs procédures stockées système qui permettent aux objets OLE Automation d’être référencés dans les lots Transact-SQL , les procédures stockées et les déclencheurs. Les procédures stockées système sont exécutées en tant que procédures stockées étendues, et les objets OLE Automation invoqués par les procédures stockées sont exécutés dans l’espace d’adressage d’une instance du moteur de base de données de SQL Server de la même façon que les procédures stockées étendues.
Les procédures stockées OLE Automation permettent aux lots Transact-SQL de faire référence aux objets SQL-DMO et aux objets OLE Automation personnalisés, notamment ceux qui exposent l’interface IDispatch . Un serveur OLE In-process personnalisé qui est créé à l’aide de Microsoft Visual Basic doit disposer d’un gestionnaire d’erreurs (spécifié avec l’instruction On Error GoTo) pour les sous-routines Class_Initialize et Class_Terminate. Les erreurs non gérées dans les sous-routines Class_Initialize et Class_Terminate peuvent entraîner des erreurs imprévisibles, comme une violation d’accès dans une instance du moteur de base de données. Les gestionnaires d'erreurs sont également recommandés pour les autres sous-routines.
Pour utiliser un objet OLE Automation dans Transact-SQL , il est nécessaire d’appeler la procédure stockée système sp_OACreatesp_OACreate
pour créer une instance de cet objet dans l’espace d’adressage de l’instance du Moteur de base de données.
Lorsqu'une instance de l'objet a été créée, appelez les procédures stockées suivantes pour travailler avec les propriétés, méthodes et informations d'erreur de l'objet :
sp_OAGetProperty
obtient la valeur d’une propriété.sp_OASetProperty
définit la valeur d’une propriété.sp_OAMethod
appelle une méthode.sp_OAGetErrorInfo
obtient les informations les plus récentes sur les erreurs.
Quand l’objet est devenu inutile, appelez sp_OADestroy
pour désallouer l’instance de l’objet créée avec sp_OACreate
.
Les objets OLE Automation retournent les données par l'intermédiaire de valeurs de propriétés et de méthodes. Les procédures sp_OAGetProperty
et sp_OAMethod
retournent ces valeurs de données sous forme d’un ensemble de résultats.
La portée d'un objet OLE Automation est un traitement. Toutes les références à un objet doivent se trouver dans un seul traitement, une seule procédure stockée ou un seul déclencheur.
Lorsque des références à des objets sont faites, les objets SQL Server OLE Automation prennent en charge le passage à travers l’objet référencé pour atteindre les autres objets qu’il contient. Par exemple, quand l’objet SQL-DMO SQLServer est utilisé, il est possible de créer des références aux bases de données et aux tables qui se trouvent sur ce serveur.
Voir aussi
- Syntaxe de hiérarchie des objets (Transact-SQL)
- Configuration de la surface d'exposition
- sp_OACreate (Transact-SQL)
- sp_OAGetProperty (Transact-SQL)
- sp_OASetProperty (Transact-SQL)
- sp_OAMethod (Transact-SQL)
- sp_OAGetErrorInfo (Transact-SQL)
- sp_OADestroy (Transact-SQL)