SQLCLR:如何将这些 dll 加载到 SQL Server 2017?
SQLCLR: How to load these dlls to SQL Server 2017?
我有一个使用 MongoDB NET 驱动程序与 MongoDB 一起工作的 c# 应用程序。
输出文件夹包含此文件集:
DnsClient.dll // managed
libsnappy64.dylib
libsnappy64.so
libzstd.dll
libzstd.dylib
libzstd.so
mongocrypt.dll // unmanaged
MongoDB.Bson.dll
MongoDB.Driver.Core.dll
MongoDB.Driver.dll
MongoDB.Libmongocrypt.dll // unmanaged
SharpCompress.dll
snappy32.dll // unmanaged
snappy64.dll// unmanaged
System.Buffers.dll
System.Memory.dll
System.Numerics.Vectors.dll
System.Runtime.CompilerServices.Unsafe.dll
System.Text.Encoding.CodePages.dll
WFMongoDB.exe // my app
WFMongoDB.exe.config
我想开发我的 SQLCLR 函数以用于 MongoDB。
有些文件是跨平台 dll,有些是非托管 dll。
问题是:是否可以将这些文件加载到 SQL 服务器数据库以供我的 SQLCLR 函数使用?
并非所有这些 DLL 都能正常工作。在任何情况下都无法将非托管 DLL 加载到 SQL 服务器中。如果不需要它们,则尝试不使用它们的功能。
如果它们确实包含所需的代码,那么您可能需要将它们保持为外部,确保它们是 COM 可见的,然后您可以从 SQL 服务器中调用它们。
我有一个使用 MongoDB NET 驱动程序与 MongoDB 一起工作的 c# 应用程序。 输出文件夹包含此文件集:
DnsClient.dll // managed
libsnappy64.dylib
libsnappy64.so
libzstd.dll
libzstd.dylib
libzstd.so
mongocrypt.dll // unmanaged
MongoDB.Bson.dll
MongoDB.Driver.Core.dll
MongoDB.Driver.dll
MongoDB.Libmongocrypt.dll // unmanaged
SharpCompress.dll
snappy32.dll // unmanaged
snappy64.dll// unmanaged
System.Buffers.dll
System.Memory.dll
System.Numerics.Vectors.dll
System.Runtime.CompilerServices.Unsafe.dll
System.Text.Encoding.CodePages.dll
WFMongoDB.exe // my app
WFMongoDB.exe.config
我想开发我的 SQLCLR 函数以用于 MongoDB。 有些文件是跨平台 dll,有些是非托管 dll。
问题是:是否可以将这些文件加载到 SQL 服务器数据库以供我的 SQLCLR 函数使用?
并非所有这些 DLL 都能正常工作。在任何情况下都无法将非托管 DLL 加载到 SQL 服务器中。如果不需要它们,则尝试不使用它们的功能。
如果它们确实包含所需的代码,那么您可能需要将它们保持为外部,确保它们是 COM 可见的,然后您可以从 SQL 服务器中调用它们。