转至繁体中文版     | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 笑话频道 | 教程频道 | 会员中心 | 雁过留声 | 
最新公告:     "MinTao学以致用网"欢迎您的光临,你的支持便是我们的动力,欢迎广大网友和各界人士亲临指导,你们的一个小小的建议便是我们发展的开路石!  [MinTao  2007年9月5日]        
您现在的位置: MinTao学以致用网 >> 文章中心 >> 电子课堂 >> 数据库 >> Sql Server >> 文章正文
专题栏目
更多内容
最新推荐 更多内容
相关文章
通过HTTP访问SQL Server
SQL Server的存储过程调
SQL Server安全性简介
SQL 语法参考手册
MS SQL Sever 7.0 存储引
SQL SERVER和SYBASE
SQL Server 7.0数据库的
VB应用程序访问SQL Serv
将DBF数据库转换成SQL S
拷贝的SQL Server 7数据
更多内容
SQL Server 2000 汉字数据简繁转换实例 (COM,.Net)         
SQL Server 2000 汉字数据简繁转换实例 (COM,.Net)
作者:playyuer 文章来源:不详 点击数: 更新时间:2007-11-14 11:13:53

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

文章录入:mintao    责任编辑:mintao 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007 MinTao学以致用网(www.mintao.net) Inc All Rights Reserved.
    QQ:543098146有事请Q我! QQ:261561092有事请Q我 QQ:179647303有事请Q我 MSN:min906@126.com
    站长:MinTao 信息产业部ICP备案号:鄂ICP备07500065号

    学以致用是我们学习者的至高境界和不懈追求,[MinTao学以致用网]与大家共同学习,共同进步……
    信息产业部备案
    *鄂ICP备07500065号