Microsoft KB Archive/180780

= INF: How Sp_OA Procedures Extension to SQL Server Is Implemented =

Article ID: 180780

Article Last Modified on 10/3/2003

-

APPLIES TO


 * Microsoft SQL Server 6.5 Standard Edition

-



This article was previously published under Q180780



SUMMARY
This article describes how the sp_OA procedures or Microsoft Visual Basic for Applications extension to SQL Server is implemented.



MORE INFORMATION
The sp_OA procedures (OA stands for OLE Automation) like sp_OACreate, sp_OAMethod, and so on, allow a connection, through Transact-SQL commands, to create and use Component Object Model (COM) based objects. The procedures are built into SQL Server as an extended stored procedure (XPROC), contained in Sqlole32.dll. This is another powerful example of how SQL Server behavior can be extended with an XPROC implementation. For more information, see the following article in the Microsoft Knowledge Base:

152801 : Examples of Sp_OA Procedure Use and SQLOLE.Transfer Object

When the first attempt to create any COM object takes place, the sp_OA internal functions identify that it is the first time. A new thread is created by the XPROC that performs the CoInitialize call and handles a standard windows message loop. This becomes the apartment thread for sp_OA operations.

As always, make sure your COM activities are minimized when you have an open transaction. The COM operations could lead to extended transaction times and reduced concurrency.

NOTE: If you have written an in-process server or your own Proxy/Stub for an out-of-process server, remember that it runs in the process space of SQL Server.

Additional query words: VBA tsql

Keywords: kbinfo KB180780

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.