Объекты OLE-автоматизации в Transact-SQL
Область применения: SQL Server
Transact-SQL включает несколько системных хранимых процедур, которые позволяют ссылаться на объекты OLE Automation в пакетах Transact-SQL, хранимых процедурах и триггерах. Эти системные хранимые процедуры выполняются как расширенные хранимые процедуры, а объекты OLE Automation, выполняемые с помощью хранимых процедур, выполняются в адресном пространстве экземпляра SQL Server ядро СУБД таким же образом, как выполняется расширенная хранимая процедура.
Хранимые процедуры OLE Automation позволяют пакетам Transact-SQL ссылаться на объекты SQL-DMO и пользовательские объекты OLE Automation, такие как объекты, предоставляющие интерфейс IDispatch . Настраиваемый встроенный сервер OLE, созданный с помощью Microsoft Visual Basic, должен иметь обработчик ошибок (указанный с инструкцией On Error GoTo ) для Class_Initialize и Class_Terminate вложенных маршрутов. Необработанные ошибки в Class_Initialize и вложенных Class_Terminate могут привести к непредсказуемым ошибкам, таким как нарушение доступа в экземпляре ядро СУБД. Рекомендуется создавать обработчики ошибок и для остальных подпрограмм.
Первым шагом при использовании объекта OLE Automation в Transact-SQL является вызов sp_OACreate
системной хранимой процедуры для создания экземпляра объекта в адресном пространстве экземпляра ядро СУБД.
После создания экземпляра объекта можно вызывать следующие хранимые процедуры для работы со свойствами, методами и получением сведений об ошибках, связанных с созданным объектом.
sp_OAGetProperty
получает значение свойства.sp_OASetProperty
задает значение свойства.sp_OAMethod
вызывает метод.sp_OAGetErrorInfo
получает последние сведения об ошибке.
Если для объекта больше нет необходимости, вызовите sp_OADestroy
освобождение экземпляра объекта, созданного с помощью sp_OACreate
.
Объекты OLE-автоматизации возвращают данные в качестве значений свойств и методов. Процедуры sp_OAGetProperty
и sp_OAMethod
возвращают эти значения данных в виде результирующего набора.
Областью видимости объекта OLE-автоматизации является пакет. Все ссылки на объект должны находиться в одном пакете, хранимой процедуре или триггере.
Когда он ссылается на объекты, объекты OLE Automation SQL Server поддерживают обход объекта, на который ссылается ссылка, на другие объекты, которые он содержит. Например, если используется объект SQL-DMO SQLServer , возможна передача ссылок на базы данных и таблицы, содержащиеся на этом сервере.
См. также
- Синтаксис иерархии объектов (Transact-SQL)
- Настройка контактной зоны
- sp_OACreate (Transact-SQL)
- sp_OAGetProperty (Transact-SQL)
- sp_OASetProperty (Transact-SQL)
- sp_OAMethod (Transact-SQL)
- sp_OAGetErrorInfo (Transact-SQL)
- sp_OADestroy (Transact-SQL)