注册
 找回密码
 注册
江西广告网
查看: 351|回复: 0
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-22 16:54:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  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       <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表