4

私のテーブル内の列に System.Xml.XmlConvert.Encode メソッドを使用してエンコードされたデータがあるという問題があります。

ここで、SQL 内でこのデータを操作する必要がありますが、System.Xml.XmlConvert.Decode メソッドを複製する方法が見つかりません。

そのため、SQL 内で System.XML 名前空間を使用して、独自のアセンブリの 1 つにラップすることなくこのメソッドにアクセスする方法を調査してきました。これは可能ですか?つまり、T-SQL 経由でこのアセンブリに直接アクセスするにはどうすればよいですか?

4

1 に答える 1

2

.NETforSQLを使用してアドインを作成する例はかなりあります。アドインを作成するには、SQL2005以降が必要になると思います。

これは特に便利な例です。

正規表現を使用して値を検証するCLRSQLユーザー定義関数の作成@MSDN

あなたの場合、byte []を受け取り、文字列を返す(デコード)関数と、文字列を受け取り、byte[]を返す対応する関数を作成することをお勧めします。

実際、byte []を直接使用できるかどうかはわかりませんが、必要に応じて16進文字列を取り、varbinary()に変換できる対応するラッパー関数をSQLで記述できるはずです。

編集:

前のリンクに含まれている他の参照へのより耐久性のあるリンクを次に示します。

方法:CLRSQLユーザー定義関数を作成して実行する@MSDN

CLRルーチンのカスタム属性@TechNet

于 2009-11-17T15:07:19.690 に答える