Partilhar via


Objetos de automação OLE em Transact-SQL

O Transact-SQL inclui diversos procedimentos armazenados do sistema que permitem que os objetos de 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 que são 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 o procedimento armazenado entendido é executado.

Os procedimentos armazenados de automação OLE habilitam os lotes Transact-SQL a se referirem aos objetos SQL-DMO e aos objetos de automação OLE personalizados, como objetos que expõe a interface IDispatch. Um servidor OLE personalizado em processo criado usando o MicrosoftVisual Basic tem que 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. Recomenda-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 as 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.

Os objetos de automação OLE retornam dados através dos valores da propriedade e métodos. O sp_OAGetProperty e osp_OAMethod retornam esses valores em forma de 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 SQL Server dão suporte ao desvio do referido objeto a outros objetos existentes nele. Por exemplo, ao usar o objeto SQL-DMO SQLServer as referências poderão ser feitas aos bancos de dados e tabelas contidas naquele servidor.