Objetos Automation no Transact-SQL
Aplica-se: SQL Server
Transact-SQL inclui diversos procedimentos armazenados do sistema que permitem que os objetos da Automação OLE sejam mencionados nos lotes, procedimentos armazenados e gatilhos do Transact-SQL. Esses procedimentos armazenados do sistema são executados como procedimentos armazenados estendidos, e os objetos de automação OLE executados por meio dos procedimentos armazenados são executados no espaço de endereço de uma instância do mecanismo de banco de dados do SQL Server da mesma forma que um procedimento armazenado estendido.
Os procedimentos armazenados da Automação OLE permitem que os lotes Transact-SQL façam referência aos objetos SQL-DMO e aos objetos da Automação OLE personalizados, como objetos que expõe a interface IDispatch. Um servidor OLE personalizado em processo criado com o Microsoft Visual Basic precisa ter um manipulador de erros (especificado com a instrução On Error GoTo) para as sub-rotinas Class_Initialize e Class_Terminate. Erros sem tratamento nas sub-rotinas Class_Initialize e Class_Terminate podem causar erros imprevisíveis, como uma violação de acesso em uma instância do mecanismo de banco de dados. Recomendam-se também manipuladores de erro para outras sub-rotinas.
A primeira etapa ao usar um objeto de Automação OLE no Transact-SQL é chamar o procedimento armazenado do sistema sp_OACreate
para criar uma instância de objeto no espaço de endereço da instância do Mecanismo de Banco de Dados.
Após uma instância do objeto ter sido criada, chame os seguintes procedimento armazenados para trabalhar com propriedades, métodos e informações de erro referentes ao objeto:
sp_OAGetProperty
obtém o valor de uma propriedade.sp_OASetProperty
define o valor de uma propriedade.sp_OAMethod
chama um método.sp_OAGetErrorInfo
obtém as informações de erro mais recentes.
Quando não houver mais necessidade do objeto, chame o sp_OADestroy
para desalocar a instância do objeto criado usando o sp_OACreate
.
Objetos de automação OLE retornam dados através de valores de propriedade e métodos. Os procedimentos sp_OAGetProperty
e sp_OAMethod
retornam esses valores de dados na forma de um conjunto de resultados.
O escopo de um objeto de automação OLE é um lote. Todas as referências a um objeto devem estar contidas em um único lote, procedimento armazenado ou gatilho.
Quando se referem aos objetos, os objetos de automação OLE do SQL Server dão suporte ao desvio do referido objeto a outros objetos existentes nele. Por exemplo, ao usar o objeto SQL-DMO SQLServer , é possível fazer referência a bancos de dados e tabelas contidos nesse servidor.
Confira também
- Sintaxe da hierarquia de objetos (Transact-SQL)
- Configuração da Área de Superfície
- sp_OACreate (Transact-SQL)
- sp_OAGetProperty (Transact-SQL)
- sp_OASetProperty (Transact-SQL)
- sp_OAMethod (Transact-SQL)
- sp_OAGetErrorInfo (Transact-SQL)
- sp_OADestroy (Transact-SQL)