Transact-SQL OLE Automation 개체를 Transact-SQL 일괄 처리, 저장 프로시저 및 트리거에서 참조할 수 있도록 하는 여러 시스템 저장 프로시저를 포함합니다. 이러한 시스템 저장 프로시저는 확장 저장 프로시저로 실행되며 저장 프로시저를 통해 실행되는 OLE Automation 개체는 확장 저장 프로시저가 실행되는 것과 동일한 방식으로 SQL Server 데이터베이스 엔진 인스턴스의 주소 공간에서 실행됩니다.
OLE Automation 저장 프로시저를 사용하면 Transact-SQL 일괄 처리에서 SQL-DMO 개체 및 사용자 지정 OLE 자동화 개체(예: IDispatch 인터페이스를 노출하는 개체)를 참조할 수 있습니다. Microsoft Visual Basic을 사용하여 만든 사용자 지정 in-process OLE 서버에는 Class_Initialize 및Class_Terminate 하위 경로에 대한 오류 처리기(On Error GoTo 문으로 지정됨)가 있어야 합니다. Class_Initialize 및 Class_Terminate 하위 경로의 처리되지 않은 오류는 데이터베이스 엔진 인스턴스의 액세스 위반과 같은 예측할 수 없는 오류를 일으킬 수 있습니다. 다른 하위 경로에 대한 오류 처리기도 권장됩니다.
Transact-SQL OLE Automation 개체를 사용하는 첫 번째 단계는 sp_OACreate 시스템 저장 프로시저를 호출하여 데이터베이스 엔진 인스턴스의 주소 공간에 개체 인스턴스를 만드는 것입니다.
개체의 인스턴스를 만든 후 다음 저장 프로시저를 호출하여 개체와 관련된 속성, 메서드 및 오류 정보를 사용합니다.
sp_OAGetProperty 속성 값을 가져옵니다.
sp_OASetProperty 속성 값을 설정합니다.
sp_OAMethod 메서드를 호출합니다.
sp_OAGetErrorInfo 가장 최근의 오류 정보를 가져옵니다.
개체가 더 이상 필요하지 않은 경우 sp_OADestroy 호출하여 sp_OACreate 사용하여 만든 개체의 인스턴스의 할당을 취소합니다.
OLE Automation 개체는 속성 값 및 메서드를 통해 데이터를 반환합니다. sp_OAGetProperty 및 sp_OAMethod 결과 집합의 형태로 이러한 데이터 값을 반환합니다.
OLE Automation 개체의 범위는 일괄 처리입니다. 개체에 대한 모든 참조는 단일 일괄 처리, 저장 프로시저 또는 트리거에 포함되어야 합니다.
개체를 참조할 때 SQL Server OLE Automation 개체는 참조된 개체를 포함하는 다른 개체로 트래버스할 수 있도록 지원합니다. 예를 들어 SQL-DMO SQLServer 개체를 사용하는 경우 해당 서버에 포함된 데이터베이스 및 테이블에 대한 참조를 만들 수 있습니다.
관련 내용
Ole Automation Procedures 서버 구성 옵션
sp_OAGetProperty(Transact-SQL)
sp_OASetProperty(Transact-SQL)