您的位置:首页 > 数据库

SQL Server 2000 汉字数据简繁转换实例 (COM,.Net)

2008-04-24 13:35 507 查看
COM" target=_blank>SQL COM" target=_blank>Server 2000 汉字数据简繁转换实例 (COM,.Net)
首先确认在 Windows (当然只是 COM" target=_blank>SQL COM" target=_blank>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.4322regasm.exe c:microshaoft.dll /tlb:microshaoft.tlb /codebase 确认正确执行后,类型库注册成功,将生成: C:Microshaoft.tlb 文件!
5.编写如下 T-COM" target=_blank>SQL 创建 函数 及 测试查询(sysadmin 的成员 如 sa 才行):
(T-COM" target=_blank>SQL 调用 COM 组件的 CSDN 文章有很多可供参考)
create function UDF_StringConvert(@ varchar(8000))returns varchar(8000)asbegin--DECLARE @ varchar(8000) --set @ = '阿姐速度极高'DECLARE @object intDECLARE @hr intDECLARE @source varchar(255), @description varchar(255)DECLARE @Return varchar(8000)set @return = ''EXEC @hr = sp_OACreate 'microshaoft.strings', @object OUTIF @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 endelse 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 @returnend
go
select dbo.UDF_StringConvert('阿姐速度极高')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: