• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

SQL Server 2000 汉字数据简繁转换实例

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 32次 | 进入软件测试论坛讨论

领测软件测试网

   
  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

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网