.NET CLR を使用してストアド プロシージャを作成しようとしています。次のコードを .NET 3.5 DLL に正常にコンパイルしました。
Imports System.Math
Imports System.Text.RegularExpressions
Imports Microsoft.SqlServer.Server
Partial Public Class LevenshteinerAndSoundexer
<SqlProcedure()> _
Public Shared Function getLevenshteinDistance(ByVal string1 As String, ByVal String2 As String) As Integer
次に、次のコードを使用してアセンブリとして正常に追加しました。
create assembly
LevenshteinLibrary
from 'Path\LevenshteinLibrary.dll'
しかし、このコードでプロシージャを作成する必要があるとき
create procedure testCLR(@s1 nvarchar(1000), @s2 nvarchar(1000))
as external NAME LevenshteinLibrary.LevenshteinerAndSoundexer.getLevenshteinDistance
エラーが発生します
「アセンブリ 'LevenshteinLibrary' にタイプ 'LevenshteinLibrary' が見つかりませんでした」
関数を「見る」ことができないのはなぜですか?
ILSpy で DLL を調べると、次のようになります。
ライブラリを展開するとこんな感じ