国产探花免费观看_亚洲丰满少妇自慰呻吟_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')

 

結果:中國


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卫辉市| 黄龙县| 杭锦后旗| 碌曲县| 滦南县| 迁安市| 苍梧县| 格尔木市| 鹤庆县| 平原县| 本溪| 商城县| 大同县| 六盘水市| 荣昌县| 合水县| 兴仁县| 含山县| 大悟县| 江达县| 房山区| 辉南县| 漳浦县| 滦南县| 宝清县| 凤翔县| 烟台市| 务川| 伊春市| 广元市| 乌拉特后旗| 依安县| 天长市| 曲松县| 青铜峡市| 南投市| 南木林县| 独山县| 桂东县| 图木舒克市| 嘉义县|