Delen via


OLE Automation-objecten in Transact-SQL

Van toepassing op:SQL Server

Transact-SQL bevat verschillende door het systeem opgeslagen procedures waarmee OLE Automation-objecten kunnen worden verwezen in Transact-SQL batches, opgeslagen procedures en triggers. Deze opgeslagen systeemprocedures worden uitgevoerd als uitgebreide opgeslagen procedures en de OLE Automation-objecten die worden uitgevoerd via de opgeslagen procedures worden uitgevoerd in de adresruimte van een exemplaar van de SQL Server Database Engine op dezelfde manier als een uitgebreide opgeslagen procedure wordt uitgevoerd.

Met de opgeslagen OLE Automation-procedures kunnen Transact-SQL batches verwijzen naar SQL-DMO objecten en aangepaste OLE Automation-objecten, zoals objecten die de IDispatch-interface beschikbaar maken. Een aangepaste IN-process OLE-server die is gemaakt met behulp van Microsoft Visual Basic, moet een fouthandler (opgegeven met de instructie On Error GoTo ) hebben voor de Class_Initialize en Class_Terminate subroutines. Niet-verwerkte fouten in de Class_Initialize en Class_Terminate subroutines kunnen onvoorspelbare fouten veroorzaken, zoals een toegangsfout in een exemplaar van de database-engine. Fouthandlers voor andere subroutines worden ook aanbevolen.

De eerste stap bij het gebruik van een OLE Automation-object in Transact-SQL is het aanroepen van de sp_OACreate door het systeem opgeslagen procedure om een exemplaar van het object te maken in de adresruimte van het exemplaar van de database-engine.

Nadat een exemplaar van het object is gemaakt, roept u de volgende opgeslagen procedures aan om te werken met de eigenschappen, methoden en foutinformatie met betrekking tot het object:

  • sp_OAGetProperty haalt de waarde van een eigenschap op.

  • sp_OASetProperty stelt de waarde van een eigenschap in.

  • sp_OAMethod roept een methode aan.

  • sp_OAGetErrorInfo haalt de meest recente foutinformatie op.

Als het object niet meer nodig is, roept u sp_OADestroy aan om de instantie van het object, die met behulp van sp_OACreate is gemaakt, vrij te geven.

OLE Automation-objecten retourneren gegevens via eigenschapswaarden en -methoden. De sp_OAGetProperty en sp_OAMethod procedures retourneren deze gegevenswaarden in de vorm van een resultatenset.

Het toepassingsbereik van een OLE Automation-object is een batch. Alle verwijzingen naar het object moeten zijn opgenomen in één batch, opgeslagen procedure of trigger.

Wanneer deze verwijst naar objecten, ondersteunen de OLE Automation-objecten van SQL Server het doorkruisen van het object waarnaar wordt verwezen naar andere objecten die het bevat. Wanneer u bijvoorbeeld het SQL-DMO SQLServer-object gebruikt, kunnen verwijzingen worden gemaakt naar databases en tabellen die op die server zijn opgenomen.

Zie ook

Volgende stappen