关系数据库采集器

Navigation:  功能明细 > 数据采集 >

关系数据库采集器

Previous pageReturn to chapter overviewNext page

 

关系数据库(RDB)采集器是将存储于关系数据库中的历史数据或特殊数据转储到iHyperDB中的工具,便于实现数据的集中与管理,实现数据的无损迁移和系统过渡。

功能说明

1. 本模块读取配置界面所指定的转储规则以及配置项,依照规则进行从关系数据库到iHyperDB的数据转储;

2. 支持宽表、窄表两种表类型的数据转储;

3. 本模块动态检查转储规则的更新;

4. 和关系数据库、iHyperDB网络断开后,本模块可以自动重新连接;

5. 本模块在启动时会自动判断转储规则中“记录起始时间”参数与iHyperDB中的对应的Tag点最新记录时间,避免重复采集。

 

使用限制

1.目前支持DB2、SQLServer、MySQL、Oracle、postgresql。关系数据库客户端环境配置请参阅转储环境配置

2.支持普通点数据采集;tag点导入关系库采集器后将自动修改点与采集器关联关系,注意如果该点原来关联其他采集器并进行了采集,将会保留原来的历史记录;

3.不支持blob数据类型;

4.关系数据库的“时间”字段支持DateTime和字符串两种类型,字符串时必须是以下格式中的一种:

    “年-月-日 时:分:秒.毫秒”, “年/月/日 时:分:秒.毫秒”“年-月-日 时:分:秒”, “年/月/日 时:分:秒”;

5.配置文件中表名只可以以字母开头,不支持数字或者特殊字符开头,如“2narrow”、“*narrow”等,这是因为SQL Server对表名的限制;

6.如果要添加Tag点到一个已经运行的规则下,转储程序不会转储该Tag点在规则已运行时间之前的数据,若必须要转储这些数据,则需新建一个规则后添加该Tag点;

7.关系数据库采集,各数据库支持的字段类型汇总如下

SQLServer

Name字段支持:

String,包含charvarcharvarchar2

Time字段支持:

1字符串格式时间

"YY-MM-DD HH:MM:SS"

"YY-MM-DD HH:MM:SS.MMM"

"YY/MM/DD HH:MM:SS "

"YY/MM/DD HH:MM:SS.MMM "

2关系数据库DateTime格式;

Quality、Value字段不做校验。

           PostgreSQL:

            Name字段支持:

            String,包含char、varchar、varchar2;

            Time字段支持:

            1.字符串格式时间

            "YY-MM-DD HH:MM:SS"

            "YY-MM-DD HH:MM:SS.MMM"

            "YY/MM/DD HH:MM:SS "

            "YY/MM/DD HH:MM:SS.MMM "

            2.关系数据库TimeStamp格式(timestamp without time zone);

            Quality、Value字段不做校验。

MySQL

Name字段支持:

            String,包含charvarcharvarchar2

Time字段支持:

1字符串格式时间

"YY-MM-DD HH:MM:SS"

"YY-MM-DD HH:MM:SS.MMM"

"YY/MM/DD HH:MM:SS "

"YY/MM/DD HH:MM:SS.MMM "

2关系数据库DateTime格式;

3关系数据库TimeStamp格式(配置后在实时数据库采集端展示出的结果为“DateTime“)。

Quality、Value字段不做校验。(建议配置Varchar类型,在实时数据库采集端展示为“String“)

 

Oracle

Name字段支持:

关系数据库Varchar2;(在实时数据库采集端展示结果为“string”)

Time字段支持:

1关系数据库Varchar2;(在实时数据库采集端展示结果为“string”);

字符串格式时间

"YY-MM-DD HH:MM:SS"

"YY-MM-DD HH:MM:SS.MMM"

"YY/MM/DD HH:MM:SS "

"YY/MM/DD HH:MM:SS.MMM "

2关系数据库TimeStamp格式

Quality、Value字段不做校验。(配置为Varchar2,在实时数据库采集端展示为“string“)

 

DB2

Name字段支持:

String,Varchar;

Time字段支持:

1关系数据库支持String, timestamp,varchar;

字符串格式时间:

"YY-MM-DD HH:MM:SS"

"YY-MM-DD HH:MM:SS.MMM"

"YY/MM/DD HH:MM:SS "

"YY/MM/DD HH:MM:SS.MMM "

2关系数据库TimeStamp格式

Quality、Value字段不做校验。(配置为Varchar,在实时数据库采集端展示为“string“)

若属性都为varchar,无法采集;若quality是int或Interger类型,则采集成功。

 

注:以上数据库字段匹配后,使用关系数据库版本不同,在实时数据库采集界面最终展示结果也会有不同!

 

 

目前仅支持界面,不支持脚本采集关系数据库数据。

使用方法

一.打开关系数据库采集器配置配置界面

如下所示:

clip0034

 

首先,要连接到一个实时数据库,请点击左上角的“链接”,进行连接。

用户选择下拉菜单时,若选择为空,即没有选择服务器,那么,左边表示关系数据库映射区域的4个按钮“添加连接”、“删除连接”、“添加表映射”、“删除表映射”为不可点击状态,如果选择了实时数据库的服务器,本那么“添加连接”按钮会被激活。

二.添加数据库连接

在指定一个实时数据库后,“添加连接”按钮进入可点击状态:

点击“添加连接”,会弹出“添加关系数据库连接”的界面,

界面根据数据库类型显示连接数据所需要的一些参数,支持如界面所示的四种数据库采集。这里暂已MySQL为例进行配置:

images_DataCollection_DatabaseCollector_DC_DC_AddDb

 

填写MySQL数据库所需参数,点击“测试连接”,如果配置正常,会弹出连接成功的提示,如果添加错误,也会有提示,成功和失败,分别如下图:

images_connecttopic2

images_DataCollection_DatabaseCollector_DC_DC_AddDBTest2

此时,左侧关系数据库中就会出现添加的数据库连接,点击这个添加好的数据库连接,在右侧会显示连接的具体信息,如下图:

同时,添加连接成功后,“删除连接”和“添加表映射”按钮被激活。

clip0035

 

 

三. 添加表映射

1、窄表

连接添加成功后,点击“添加表映射”,弹出表映射配置界面。如下图

images_DataCollection_DatabaseCollector_DC_DC_AddDbTable

 

界面左上方显示之前建立的数据库连接中存在的Table,点击其中的一个Table会在右侧显示Table中的字段,包括字段名,类型描述和字段长度。

表别名:因为数据库中的Table名称在这里不能修改,所以添加表映射的工具,提供了“表别名”的工具,点击table列表,会将table名称默认作为table的别名,用户可以根据自己的实际需要做进一步的修改。

采集方式:目前支持将关系数据库中的数据作为普通点的原始值采集到实时数据库,所以配置和显示将下拉框做灰化处理。

宽窄表:则是关系数据中数据的存储方式,用户按照Table的实际情况做出选择。

字段匹配:对关系数据库中的字段和采集到实时数据库中的信息进行匹配,窄表的界面如上图所示,选择对应的字段,请注意,这里类型不匹配的话,可能导致匹配失败,请返回更改关系数据库的表,当正确对应后,点击”确定“按钮,表映射添加成功,返回主界面,点击表映射节点,界面显示如下:

images_DataCollection_DatabaseCollector_DC_DC_AddDbAddTable

 

images_hs-caution

数据库中的表名需要是英文的,不支持中文。

匹配字段时,如果弹出了类型不匹配,请按照弹出的提示框,更改数据库中字段的类型。

当配置成功后,“关系数据库”下面的列表会显示匹配好的表名,如下图:

clip0036

配置规则

一个类型为窄表的表映射只能有一个规则,将关系数据库的数据采集到指定的唯一的实时数据库。

默认情况下不启用窄表的规则,此时界面右下角的规则相关信息都不可编辑的。若用户勾选“启用窄表规则”,界面右下角的规则相关信息变成可编辑的状态。

配置规则时间:用户根据需要配置数据记录的开始时间,如果需要设置结束时间,勾选【启用记录结束时间】,记录的结束时间不得小于记录的开始时间。设置规则的执行开始时间和执行周期。

images_DataCollection_DatabaseCollector_DC_DC_AddDbTableTime

 

配置规则Tag点

选择导入Tag点的页面,点击“导入Tag点”按钮,弹出Tag点查询界面,然后选择实时数据库系统中的Tag点,具体配置Tag点,请参考:数据源配置

images_hs-caution

服务器为用户之前进入数据库采集工具时指定的实时数据库,为保证实时数据库信息的一直,此处的下拉框不可操作。同时只能采集普通点,所以点类型下拉框也做了灰化处理。

 

在Tag查询配置界面用户选择好了tag点之后,返回之前的规则配置界面,界面左下方的“已导入Tag点”区域显示用户刚才选择的普通点,显示信息包括:Tag名,Tag描述,Tag类型,Tag描述,iHyperDB源如下图所示:

 

images_DataCollection_DatabaseCollector_DC_DC_AddDbAddTableTag

点击左下角的“保存”按钮,弹出保存成功提示,规则配置结束。

 

2、宽表

对于宽表配置界面如下:

images_DataCollection_DatabaseCollector_DC_DC_AddDbAddTableFat

 

宽表的表映射是先添加Tag点,导入Tag点后,配置宽表的字段匹配,同时,还要选择记录时间的字段,选择完成后,如下图所示:

images_DataCollection_DatabaseCollector_DC_DC_AddDbAddTableFat2

 

点击确定,返回宽边配置界面。此时,界面左侧显示宽表的字段匹配信息,右侧显示是否启用规则,因为Tag点已经在上一步导入,所以这里只有规则时间的配置。

勾选“启用宽表规则”,时间配置可以编辑,根据需求配置开始记录的开始时间,记录结束时间,规则执行的开始时间和周期,然后点击“保存”按钮,给出成功提示,宽表配置结束,如下图:

clip0015

至此,关系数据库采集器的配置完成。

 

images_hs-caution

对于DB2数据库,用户需要确保数据库的用户名和模式名保持一致

DB2中的table命名最好以字母开头

导入导出配置信息功能

  导出

1.单击“导出”按钮

clip0173

2.在弹出的对话框中,选择导出的文件路径

clip0174

1.单击“导出”

2.导出成功

3.在Excel中,有5个sheet页,分别展示连接、宽表和窄表以及对应点信息。

         

导入

1.准备要导入的excel文件。填写5个sheet页的内容。

2.单击“导入”按钮

clip0175

3.在弹出的对话框中,选择需要导入的文件

clip0176

4.单击“导入”

5.导入成功

 

注意:导入时,时间格式需要为“2018-01-01 00:00:00”,右键设置单元格格式为“yyyy-mm-dd hh:mm:ss”