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.
文章探讨了SQL Server能否调用.NET对象,指出不能直接调用,但可通过中间COM包装器间接访问。还详细介绍了从SQL Server访问.NET对象的步骤,包括创建.NET类、生成程序集强名称、编译注册程序集、编写VB 6 DLL包装器等。

382

被折叠的 条评论
为什么被折叠?



