From: http://www.sqljunkies.com/Tutorial/C5A500EB-B8BE-42C0-B23B-258A342CAAAB.scuk
In the articles titled Using COM Objects in SQL Server and Extending SQL Server with COM Objects, we saw the
basics of how to access and use COM objects from SQL Server. With the advent of .NET, it is natural for us to see if SQL Server can call into .NET objects. Unfortunately, you cannot, as described in the following article. But don't lose heart, you can access .NET objects in an indirect way using an intermediate COM wrapper. This COM wrapper can call into the .NET code using interop. In this example, we will see how to exploit this feature.
The steps for accessing .NET objects from SQL Server is quite straightforward. The following are the steps:
- Create the .NET class by defining an interface and having a .NET class implement the interface.
- Generate a strong name for the assembly using the SN tool and add the relevant assembly attributes.
- Compile the assembly and use the REGASM tool to generate the type library for the assembly and register the same.
- Run the GACUTIL program to register this assembly in the GAC.
- Write the Visual Basic 6 DLL wrapper over this .NET assembly by adding the appropriate references.
- Compile this DLL and place it in some folder.
- Write the SQL Server calls for this VB 6 DLL. This in turn invokes the .NET DLL which returns the result.