SQL Server 2000 漢字資料簡繁轉換執行個體 (COM,.Net)

來源:互聯網
上載者:User

SQL Server 2000 漢字資料簡繁轉換執行個體 (COM,.Net)

首先確認在 Windows (當然只是 SQL Server 的伺服器端) 上安裝了 .Net Framework 1.1 !

確認成功安裝後:
1.用 sn -k 為該類庫建立一個強名密鑰檔案:
  在安裝 Microsoft .Net Framework SDK 的所在目錄下的 v1.1/Bin/ 子目錄下執行如下命令列:
  sn.exe -k c:/snkey.snk

2.開啟記事本(NotePad.exe)編寫如下 C# 程式,並儲存為 C:/Microshaoft.cs 的檔案:
 using System;
 using System.Runtime.InteropServices;
 using System.Reflection;
 using System.Runtime.CompilerServices;

 [assembly: AssemblyKeyFile("snKey.snk")]

 namespace Microshaoft
 {
  public interface IStrings
  {
   string StringConvert(string x);
  }
 
  [ClassInterface(ClassInterfaceType.AutoDual)]
  public class Strings : IStrings
  {
   public string StringConvert(string x)
   {
    return Microsoft.VisualBasic.Strings.StrConv(x,Microsoft.VisualBasic.VbStrConv.TraditionalChinese,System.Globalization.CultureInfo.CurrentCulture.LCID);
   //  //繁簡轉換亦可 StringConvert 再加參數控制,不贅述
   }
  }
 }

3.在 Windows 下 運行 cmd 進入命令列控制台,執行如下命令列:
   C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/csc.exe /t:library /out:C:/Microshaoft.dll C:/Microshaoft.cs /r:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Microsoft.VisualBasic.dll
  如有錯誤,參考 csc.exe /? 協助,或 MSDN 修正!
  確認正確執行後,本例將產生: C:/Microshaoft.DLL 檔案!

4.再執行如下命令列:
  C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/regasm.exe c:/microshaoft.dll /tlb:microshaoft.tlb /codebase
  確認正確執行後,類型庫註冊成功,將產生: C:/Microshaoft.tlb 檔案!

5.編寫如下 T-SQL 建立 函數 及 測試查詢(sysadmin 的成員 如 sa 才行):

(T-SQL 調用 COM 組件的 CSDN 文章有很多可供參考)

create  function UDF_StringConvert(@ varchar(8000))
returns varchar(8000)
as
begin
--DECLARE @ varchar(8000)
--set @ = '阿姐速度極高'
DECLARE @object int
DECLARE @hr int
DECLARE @source varchar(255), @description varchar(255)
DECLARE @Return varchar(8000)
set @return = ''
EXEC @hr = sp_OACreate 'microshaoft.strings', @object OUT
IF @hr = 0
   begin
      EXEC @hr = sp_OAMethod @object, 'StringConvert',@return OUT,@
      IF @hr <> 0
         begin
            EXEC @hr = sp_OAGetErrorInfo @object, @source OUT, @description OUT
            set @return = @object +  ' ' + @source + ' ' + @description
         end
   end
else
   begin
      EXEC @hr = sp_OAGetErrorInfo @object, @source OUT, @description OUT
      set @return = @object +  ' ' + @source + ' ' + @description
   end

EXEC @hr = sp_OADestroy @object

--select @return
--select dbo.UDF_StringConvert('阿姐速度極高')
return @return
end

go

select dbo.UDF_StringConvert('阿姐速度極高')

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.