SQL Server 2000 汉字数据简繁转换实例 (COM,.Net)
2007-11-11 10:57:59 来源:WEB开发网核心提示:sql server(WINDOWS平台上强大的数据库平台) 2000 汉字数据简繁转换实例 (COM,.Net)首先确认在 Windows (当然只是 sql server(WINDOWS平台上强大的数据库平台) 的服务器端) 上安装了 .Net Framework 1.1 !确认成功安装后:1.用 sn -k 为该
sql server(WINDOWS平台上强大的数据库平台) 2000 汉字数据简繁转换实例 (COM,.Net)
首先确认在 Windows (当然只是 sql server(WINDOWS平台上强大的数据库平台) 的服务器端) 上安装了 .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('阿姐速度极高')
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接