Objets OLE Automation dans Transact-SQL
Transact-SQL contient plusieurs procédures stockées système qui permettent aux objets OLE Automation d'être référencés dans les traitements 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 SQL Server de la même façon que les procédures stockées étendues.
Les procédures stockées OLE Automation permettent aux traitements 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 de traitement personnalisé qui est créé à l'aide de MicrosoftVisual 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_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.
Lorsqu'un objet n'est plus utile, appelez sp_OADestroy pour désallouer l'instance de l'objet créé à l'aide de sp_OACreate.
Les objets OLE Automation retournent les données par l'intermédiaire de valeurs de propriétés et de méthodes. 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, lorsque 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