基于SQL Server的数据语言转换

2017-06-19 22:52姚晓鹏郑挺江伟
科技创新导报 2017年6期

姚晓鹏+郑挺+江伟

摘 要:随着互联网技术的快速发展,世界各国的人员都有机会一起参与项目工作。因此,不同国家、不同母语的人使用SQL Server进行操作,数据的语言成了一个障碍。提出了一种基于SQL Server的数据语言转换,以日文和中文为例,选择不同的语言,则抽出相应语言的数据。该方法首先查找出原日语数据库中的主要数据项目名,根据这些项目名建立相应的对应关系表,再找出含有相同字段的项目名,建立多个对应关系表。然后,建立两个语言的控件,并通过选择相应的编号(key)来抽出相应的数据。以日文和中文数据间的转换为例,该方法能分显示出两种语言的数据记录。

关键词:多语言 数据抽取 对应关系

中图分类号:TP301.6 文献标识码:A 文章编号:1674-098X(2017)02(c)-0153-02

目前,数据库在全世界范围内都得到了非常广泛的应用,但数据库的使用和显示语言并没有得到有效的统一。在日常工作中,一个国家的公司可能与另一个国家的公司合作做项目。但是两个不同语言国家的公司合作,语言的转换就成了一个需要考虑的问题。

从图1我们可以看出,该软件无论是登录界面还是数据抽出的界面都是由日语的字段组成。其中包含了如:ロット番号、得意先コード等字段。因此,如果两个不同国家的人合作,若都用自己本国语言来进行一些数据操作,则对项目后期的合成带来不便;若只用一国的语言,那么对另一个国家的工作人员来说有极大的语言障碍。文章将提出基于SQL 的数据语言转换方法,以便让不同母语的人在应用的时候,能够克服语言障碍。

1 相关工作

目前,实现数据库的多语言转换的方法主要是两种:(1)使用配置文件;(2)使用第三方语言控件。但是使用这类方法存在一些不足之处,使用配置文件很容易使用户的资料和设置破损;而用第三方语言控件则需输入大量数据,载入速度大大变慢,编译效率降低。

因此在面向对象程序设计的基础上,借鉴多语言切换方案,转换方案思路如图3所示。

如图2可知,该方案是将多语言数据输入数据库,缩短对可执行文件的长度,大大提高系统启动速度,并且保证数据不丢失,从而实现软件界面的多语言转换。

运用该思路,也可将所需要用的软件的语言进行切换:初始是日语,切换成功后,则接下来可用中文进行操作。若是操作完成后,如有需要,可按原方法再重新切换回来。

2 数据语言的转换

2.1 不同语言的数据间对应

对于原先保存在数据库中的数据,其语言已经固定。比如原来的数据是日语,那么抽出来的也是日语。那么现在在前台调用的人员想看到中文的数据,则需要事先对数据进行转换。

首先查找出原日语数据库中的主要数据项目名(可根据一些列名或者标题名来查找)。

再创建语言之间的对应关系表,如表1所示。根据数据中的字段制定上述关系对应列表,并给予编号1、2、3......一个编号(key)对应一组关系。在调用的时候,即可根据编号将日文对应的中文字段抽调出来。

2.2 含相同字段间不同语言切换

在一些主要字段中,可直接采用关系对应表的方式进行转换。但是考虑到一些字段会反复出现,或是许多字段有重复的部分,则可建立不同和相同字段间的映射关系,如图4所示。

如图3可知,用户要查找有关“商品コード”(日文)的数据,但“商品”(日文)这个字段在其他字段中反复出现,因此可以通过该字段同时抽取其他含有该字段的项目名。

3 数据多语言的抽取

3.1 数据抽取思路

在抽取前首先要增加两个语言控件,分别为日文、中文。当用户在前台选择“中文”控件的时候,中文數据显示出来,选择“日文”的时候,日文数据显示出来。

下面是数据抽取整体思路:(以“商品コード”为例)

TextBox

String

商品コード

商品コード 3 INNER JOIN 商品中文 JBT ON

3.商品コード=JBT.商品代码

3.2 数据抽取结果

利用上述思路,先从数据库中抽取日文数据,然后再从相应的中文表中抽取中文数据,抽取结果如图4所示。

由图4可得,左侧原数据是日文版的,经转换后可得右侧中的中文数据,“ロット番号、ステント営業部”等字段,均已经显示为中文的“批号、支架营业部”等,这样就方便了不同语言的用户查看数据。

4 结语

文章提出了一种基于SQL Server的数据语言转换方法。该方法首先查找出原日语数据库中的主要数据项目名,根据这些项目名建立相应的对应关系表,再找出含有相同字段的项目名,建立多个对应关系表。然后,建立两个语言的控件,并通过选择相应的编号(key)来抽出相应的数据,从而显示不同语言下的数据,方便了不同语言的用户查看数据。

参考文献

[1] 杨永国.基于SQL Sever数据库技术的多语言转换[J].硅谷,2013(1):31-32.

[2] 李兴原,丁刚.基于SQL Sever数据库技术的多语言转换[J].合作经济与科技,2008(12):46-47.

[3] 王芳.SQL Server的数据转换[J].现代企业教育,2014(12):489-489.

[4] 易国洪.对象和对象-关系DBMS[J].科技广场,2007(1):85-88.

[5] 刘晓娟.关系数据库运用分析[J].黑龙江科技信息,2008(4):60-60.

[6] 黄锐.SQL Server对XML文档的数据抽取方法的分析与实现[J].桂林航天工业学院学报,2006,11(2):24-25.

[7] 谭正云.用优化SQL语句提高数据库ETL效率[J].金融科技时代,2013(7):66-67.

[8] 曾强,龚育昌.一种基于SQL的元组集随机抽取算法[J].计算机工程与应用,2007,43(12):167-169.