数据库导入驱动程序
概述
数据库导入驱动程序旨在从第三方数据库读取当前数据,以及使用命令写入第三方数据库。支持的 DBMS 包括 Microsoft SQL Server、Oracle、PostgreSQL 和 MySQL。该驱动程序包含在RapidSCADA 发行版中,不需要单独安装。
配置
创建新的通信线路和设备数据库导入使用调用的向导键入
和
按钮。通讯线负责连接到一个数据库。线路的通信信道类型是不明确的。下图显示了项目浏览器中的通信线路节点。
打开创建的设备的属性。设备设置指定接收标签值并通过 SQL 查询发送命令。
假设用作驱动程序信息源的数据库已经存在并且包含必要的表。有关数据库连接选项的信息,请联系数据库管理员。
下图显示了获取设备标签值的查询参数。
在标签字段中,输入设备标签代码。每一行包含一个标签的代码。这SQL字段包含查询文本。如果单行结果选中复选框(查询 1),查询应返回一行,其中每个字段都包含一个标记值。如果未选中该复选框(查询 2),则查询应返回一组行,每行包含标签代码和值。对于第二种情况,查询结果必须包含code和val列。
由于命令支持,驱动程序可以通过操作员发送的命令或自动将信息写入数据库。这命令码必须与发送命令的通道的标签代码相匹配。在SQL查询文本中,命令的值和数据可以通过@cmdVal和@cmdData参数。
配置设备属性后,使用由设备调用的向导在配置数据库中创建通道
按钮。
如果配置正确,设备数据页面将显示获取的值。
SQL脚本
PostgreSQL 的示例脚本:
CREATE SCHEMA IF NOT EXISTS drv_db_import
AUTHORIZATION postgres;
CREATE TABLE IF NOT EXISTS drv_db_import.table1
(
id integer NOT NULL,
val1 double precision,
val2 character varying,
val3 timestamp with time zone,
CONSTRAINT table1_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS drv_db_import.table2
(
id integer NOT NULL,
code character varying,
val double precision,
CONSTRAINT table2_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS drv_db_import.table_out
(
create_time time with time zone DEFAULT now(),
cmd_val double precision,
cmd_data bytea
);
-- Query 1
SELECT val1, val2, val3 FROM drv_db_import.table1 LIMIT 1
-- Query 2
SELECT code, val FROM drv_db_import.table2
-- Command
INSERT INTO drv_db_import.table_out (cmd_val, cmd_data) VALUES (@cmdVal, @cmdData)