Transact-SQL의 OLE 자동화 개체OLE Automation Objects in Transact-SQL

Transact-SQLTransact-SQL 에는 Transact-SQLTransact-SQL 일괄 처리, 저장 프로시저 및 트리거를 통해 OLE 자동화 개체를 참조할 수 있도록 하는 몇 가지 시스템 저장 프로시저가 포함됩니다. includes several system stored procedures that allow OLE Automation objects to be referenced in Transact-SQLTransact-SQL batches, stored procedures, and triggers. 이러한 시스템 저장 프로시저는 확장 저장 프로시저처럼 실행되며 저장 프로시저를 통해 실행되는 OLE 자동화 개체는 확장 저장 프로시저와 같은 방식으로 SQL Server 데이터베이스 엔진SQL Server Database Engine 인스턴스의 주소 공간에서 실행됩니다.These system stored procedures run as extended stored procedures, and the OLE Automation objects that are executed through the stored procedures run in the address space of an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine in the same way that an extended stored procedure runs.

OLE 자동화 저장 프로시저를 사용하여 Transact-SQLTransact-SQL 일괄 처리에서 IDispatch 인터페이스를 제공하는 개체와 같은 사용자 지정 OLE 자동화 개체와 SQL-DMO 개체를 참조할 수 있습니다.The OLE Automation stored procedures enable Transact-SQLTransact-SQL batches to reference SQL-DMO objects and custom OLE Automation objects, such as objects that expose the IDispatch interface. MicrosoftMicrosoft Visual BasicVisual Basic 를 사용하여 만들어진 사용자 지정 종속 프로세스 OLE 서버에는 On Error GoToOn Error GoTo 서브루틴에 대한 오류 처리기( On Error GoTo 문으로 지정)가 있어야 합니다.A custom in-process OLE server that is created by using MicrosoftMicrosoft Visual BasicVisual Basic must have an error handler (specified with the On Error GoTo statement) for the Class_Initialize and Class_Terminate subroutines. Class_InitializeClass_Terminate 서브루틴의 오류가 처리되지 않을 경우 데이터베이스 엔진Database Engine인스턴스의 액세스 위반과 같은 예상치 못한 오류가 발생할 수 있습니다.Unhandled errors in the Class_Initialize and Class_Terminate subroutines can cause unpredictable errors, such as an access violation in an instance of the 데이터베이스 엔진Database Engine. 또한 다른 서브루틴에 대한 오류 처리기도 권장됩니다.Error handlers for other subroutines are also recommended.

Transact-SQLTransact-SQL 의 OLE 자동화 개체를 사용하려면 우선 sp_OACreate 시스템 저장 프로시저를 호출하여 데이터베이스 엔진Database Engine인스턴스의 주소 공간에 개체의 인스턴스를 만들어야 합니다.The first step when using an OLE Automation object in Transact-SQLTransact-SQL is to call the sp_OACreate system stored procedure to create an instance of the object in the address space of the instance of the 데이터베이스 엔진Database Engine.

개체의 인스턴스가 생성된 후에는 다음과 같은 저장 프로시저를 호출하여 개체의 속성, 메서드 및 개체 관련 오류 정보에 대한 작업을 수행합니다.After an instance of the object has been created, call the following stored procedures to work with the properties, methods, and error information related to the object:

  • 속성 값을 가져오는sp_OAGetProperty sp_OAGetProperty obtains the value of a property.

  • 속성 값을 설정하는sp_OASetProperty sp_OASetProperty sets the value of a property.

  • 메서드를 호출하는sp_OAMethod sp_OAMethod calls a method.

  • 최신 오류 정보를 가져오는sp_OAGetErrorInfo sp_OAGetErrorInfo obtains the most recent error information.

    개체가 더 이상 필요하지 않을 때는 sp_OADestroy 를 호출하여 sp_OACreate로 생성된 개체의 인스턴스를 할당 취소합니다.When there is no more need for the object, call sp_OADestroy to deallocate the instance of the object created by using sp_OACreate.

    OLE 자동화 개체는 속성 값과 메서드를 통해 데이터를 반환합니다.OLE Automation objects return data through property values and methods. sp_OAGetPropertysp_OAMethod 는 결과 집합의 형식으로 이러한 데이터 값을 반환합니다.sp_OAGetProperty and sp_OAMethod return these data values in the form of a result set.

    OLE 자동화 개체의 범위는 일괄 처리입니다.The scope of an OLE Automation object is a batch. 개체의 모든 참조는 하나의 일괄 처리, 저장 프로시저 또는 트리거 안에 들어 있어야 합니다.All references to the object must be contained in a single batch, stored procedure, or trigger.

    개체를 참조할 때 SQL ServerSQL Server OLE 자동화 개체는 참조되는 개체 안에 포함된 다른 개체들 간의 순회 검색을 지원합니다.When it references objects, the SQL ServerSQL Server OLE Automation objects support traversing the referenced object to other objects that it contains. 예를 들어 SQL-DMO SQLServer 개체를 사용할 때 해당 서버에 포함된 데이터베이스와 테이블에 대한 참조를 만들 수 있습니다.For example, when using the SQL-DMO SQLServer object, references can be made to databases and tables contained on that server.

개체 계층 구조 구문(Transact-SQL)Object Hierarchy Syntax (Transact-SQL)

노출 영역 구성Surface Area Configuration

Ole Automation Procedures 서버 구성 옵션Ole Automation Procedures Server Configuration Option

sp_OACreate(Transact-SQL)sp_OACreate (Transact-SQL)

sp_OAGetProperty(Transact-SQL)sp_OAGetProperty (Transact-SQL)

sp_OASetProperty(Transact-SQL)sp_OASetProperty (Transact-SQL)

sp_OAMethod(Transact-SQL)sp_OAMethod (Transact-SQL)

sp_OAGetErrorInfo(Transact-SQL)sp_OAGetErrorInfo (Transact-SQL)

sp_OADestroy(Transact-SQL)sp_OADestroy (Transact-SQL)