国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

用CLR集成為SQL 2005添加簡繁轉換功能

2024-07-21 02:44:43
字體:
來源:轉載
供稿:網友

 最近的一個項目中要用到把輸入到系統的內容都轉換成繁體存儲到另外一個字段,系統是asp+sql2005,本來是想在asp中來實現這個功能,只是asp實現這個貌似有點困難,就想到了微軟的一個Microsoft Visual Studio International Pack v1.0,里面就有中文字處理功能,還比較豐富,這里只用簡繁轉換。Microsoft Visual Studio International Pack v1.0的下載地址:http://download.microsoft.com/download/5/7/3/57345088-ACF8-4E9B-A9A7-EBA35452DEF2/vsintlpack1.zip。解壓之后安裝CHTCHSConv.msi,安裝之后新建一個類庫類目,添加對Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool引用。引入Microsoft.SqlServer.Server;
Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
命名空間。

下面是代碼:

view plaincopy to clipboardPRint?
using Microsoft.SqlServer.Server;  
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;  
 
namespace IMELSChineseConverter  
{  
    public class MelsChineseConverter  
    {  
        [SqlFunction(Dataaccess = DataAccessKind.None)]  
        public static string Convert(string text, string Direction)  
        {  
            string ctext = string.Empty;  
            if (Direction.ToLower() == "s2t")  
            {  
                ctext = ChineseConverter.Convert(text, ChineseConversionDirection.SimplifiedToTraditional);  
            }  
            else if(Direction.ToLower() == "t2s")  
            {  
                ctext = ChineseConverter.Convert(text, ChineseConversionDirection.TraditionalToSimplified);  
            }  
            return ctext;  
        }  
    }  

using Microsoft.SqlServer.Server;
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;

namespace IMELSChineseConverter
{
    public class MelsChineseConverter
    {
        [SqlFunction(DataAccess = DataAccessKind.None)]
        public static string Convert(string text, string Direction)
        {
            string ctext = string.Empty;
            if (Direction.ToLower() == "s2t")
            {
                ctext = ChineseConverter.Convert(text, ChineseConversionDirection.SimplifiedToTraditional);
            }
            else if(Direction.ToLower() == "t2s")
            {
                ctext = ChineseConverter.Convert(text, ChineseConversionDirection.TraditionalToSimplified);
            }
            return ctext;
        }
    }
}
 

 

這里要把這個功能集成到SQL2005里去,就要用到SQL2005的CLR集成。現在我們來啟用SQL2005的CLR集成:

 

開始--所有程序--Microsoft SQL Server 2005--配置工具--SQL Server 外圍應用配置器--功能的外圍應用配置器--CLR集成--啟用CLR集成。

 

之后我們給SQL2005添加這個程序集,假如我們要為DataBaseTest這個數據庫來增加此程序集,

在SQL里執行如下語句


USE [DataBaseTest]

GO


ALTER DATABASE [DataBaseTest] SET TRUSTWORTHY ON
create assembly IMELSChineseConverter from 'D:/SqlCLR/IMELSChineseConverter.dll' WITH PERMISSION_SET = UNSAFE


 

然后我們再建立一個SQLFunction來應用這個程序


USE [DataBaseTest]
GO
CREATE FUNCTION [dbo].[MelsChineseConverter](@text [nvarchar](max), @Direction [nvarchar](20))
RETURNS [nvarchar](max) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [IMELSChineseConverter].[IMELSChineseConverter.MelsChineseConverter].[Convert]

 

現在我們就可以應用這個函數來進行簡繁轉換了

 

SELECT [dbo].[MelsChineseConverter]('中國','s2t')

 

結果:中國


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 木兰县| 措美县| 高平市| 黄浦区| 安泽县| 蓬安县| 徐水县| 沽源县| 丰镇市| 武安市| 克东县| 乌兰县| 遵义市| 商城县| 宁乡县| 清流县| 平利县| 耒阳市| 靖边县| 若尔盖县| 阿拉尔市| 寿光市| 龙陵县| 成安县| 扎鲁特旗| 湖北省| 射洪县| 和静县| 汉沽区| 逊克县| 莲花县| 沂水县| 平舆县| 富阳市| 来宾市| 邵武市| 博乐市| 宁波市| 衡东县| 青海省| 鄱阳县|