程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQLServer2000漢字數據簡繁轉換實例

SQLServer2000漢字數據簡繁轉換實例

編輯:關於SqlServer
SQL Server 2000 漢字數據簡繁轉換實例 (COM,.Net)
  
  首先確認在 Windows (當然只是 SQL Server 的服務器端) 上安裝了 .Net Framework 1.1 !
  
  確認成功安裝後:
  1.用 sn -k 為該類庫創建一個強名密鑰文件:
   在安裝 Microsoft .Net Framework SDK 的所在目錄下的 v1.1Bin 子目錄下執行如下命令行:
   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:WINDOWSMicrosoft.NETFrameworkv1.1.4322csc.exe /t:library /out:C:Microshaoft.dll C:Microshaoft.cs /r:C:WindowsMicrosoft.NetFrameworkv1.1.4322Microsoft.VisualBasic.dll
   如有錯誤,參考 csc.exe /? 幫助,或 MSDN 修正!
   確認正確執行後,本例將生成: C:Microshaoft.dll 文件!
  
  4.再執行如下命令行:
   C:WindowsMicrosoft.NetFrameworkv1.1.4322
egasm.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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved