zoukankan      html  css  js  c++  java
  • SQL Server 2000 汉字数据简繁转换实例 (COM,.Net)

    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('阿姐速度极高')

  • 相关阅读:
    mailto 调用邮件客户端乱码问题的解决办法
    MySQL开启慢查询
    Java 模拟 Http Post
    使用XSLT转换XML2XML
    上传File时,浏览器总是添加<pre>的解决办法
    转:简单SQL语句小结
    我的crm报告竣工了!
    vs2005快捷键
    转:C# 参考之转换关键字:operator、explicit与implicit
    正值表达式2
  • 原文地址:https://www.cnblogs.com/Microshaoft/p/2485777.html
Copyright © 2011-2022 走看看