ProcessDB实时/时序数据库——JDBC操作数据点对象

  一、数据点字段介绍

CREATE TABLE P_TABLE ( 

 NAME_F                 STRING;//数据点名,

 ARCHIVED_F             BYTE;//是否保存历史数据(默认不填写,则不保存)0是未存档,1是存档,

 ALARM_HIGH_F           FLOAT;//告警高限,

 PERIOD_F               SHORT;//计算周期 计算点专属属性,

 ALARM_GROUP_ID_F       INT;//告警分组ID,

 INIT_VALUE_F           FLOAT;//初始值,

 COMPRESS_F             BYTE;//时间维度 0是deadband死区压缩, 1是linuar线性压缩,
                             //2是None无压缩,

 PRIORITY_F             BYTE;//优先级 低是2 中是1 高是0,

 ALARM_TYPE_F           BYTE;//告警类别 NO ALARM无告警 DEAD ZONE ALARM死区告警 
                             // TIMEOUT ALARM超时告警 ON ALARM 开启告警 OFF ALARM关闭告警             
                             // CHANGE ALARM 变化 LOW HIGH 低高限 LL HH 低低高高限,

 TIME_UNIT_F            BYTE;//分辨率 0是秒 1是毫秒 2是微秒,

 ALARM_SWITCH_F         BYTE;//是否告警(必填) 0是告警 1是告警,

 FORMAT_F               BYTE;//小数精度 例如数据类型为int,则没有小数精度,

 TIMEOUT_INTERVAL       SHORT;//存历史超时时间,

 IS_REFFER              BOOLEAN;//是否引用点ID  TRUE或者FALSE,

 DEVIATION_F            FLOAT;//量程数值,默认是百分之0.05,

 EXPRESSION_F           STRING;//计算公式 计算点专属属性,

 DEV_TYPE_F             BYTE;//按量程百分比是PERCENT或者0,按量程物理值是PHYSIC或者1,

 ALARM_LOW_F            FLOAT;//告警低限,

 DESC_F                 STRING;//数据点描述,

 POINT_TYPE_F           BYTE;//数据点类型 0是采样点 1是统计点 2是计算点,

 IO_TYPE_F              BYTE;//IO类型 0为输入 1为输出 2为中间变量 3为网关 (采样点专属属性),

 REFFER_ID              INT;//引用数据点ID,

 DATA_TYPE_F            BYTE;//数据类型,

 BOTTOM_SCALE_F         FLOAT;//量程低限,

 ALARM_LEVEL_F          BYTE;//告警级别 none是ZERO 一级是ONE 二级是TWO 
                             //三级是THREE 四级是FOUR,

 FORCE_SAVE_INTERVAL    SHORT;//强制存历史数据时间,

 ALARM_LL_F             FLOAT;//告警低低限,

 UNIT_F                 STRING;//单位,

 ALARM_HH_F             FLOAT;//告警高高限,

 SPACE_COMPRESS_F       BYTE;//空间维度 1是差值压缩,2是数据块压缩,3是两者全选,

 TOP_SCALE_F            FLOAT;//量程高限

 )

 二、创建数据点

        具有联级创建功能,新建数据点时若上级数据表或者数据库不存在,则默认创建一个与填写信息同名的数据库与数据表

       由于创建数据点,需要分三个模块的信息,这里将分成:基础信息,历史存储信息,告警信息。下面将分别进行演示,下面演示只是单个模块的信息,若需要创建完整数据点,要根据需求,把这三块所涉及的信息都写入一个sql里,不是需要分别创建三次。

1、创建数据点基础信息

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception {
	try {
			
			/**
			 * 点的设置比较复杂,分成三块进行示例
			 * 分别是基础信息,历史存储信息,告警信息
			 * 该示例是创建数据点的基础信息
			 */
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.
				ResultSet rs = null;

					/**创建新数据点 P_TABLE
					 * 所需字段
					 * ALARM_SWITCH_F 是否报警(必填) 0是报警 1是报警
					 * NAME_F  数据点名称
					 * IS_REFFER 是否引用其他数据点  TRUE或者FALSE
                     * REFFER_ID 引用数据点ID
					 * POINT_TYPE_F  数据点类型 Sample是 采样点 Cacl是 计算点
					 * INIT_VALUE_F 初始值
	                 * IO_TYPE_F IO类型 0为输入 1为输出 2为中间变量 3为网关 采样点专属属性
	                 * TOP_SCALE_F 量程高限
	                 * BOTTOM_SCALE_F 量程低限
	                 * DATA_TYPE_F 数据类型
	                 * UNIT_F  单位
	                 * TIME_UNIT_F 分辨率 0是秒 1是毫秒 2是微秒
	                 * PRIORITY_F 优先级 低是2 中是1 高是0
	                 * EXPRESSION_F 计算公式 计算点专属属性
	                 * PERIOD_F 计算周期 计算点专属属性
	                 * FORMAT_F 小数精度 例如数据类型为int,则没有小数精度
	                 * DESC_F 数据点描述
	                 *
					 */
					// sql
					String sql = "INSERT INTO P_TABLE (ALARM_SWITCH_F,NAME_F,POINT_TYPE_F,INIT_VALUE_F,IO_TYPE_F,TOP_SCALE_F,BOTTOM_SCALE_F,DATA_TYPE_F,UNIT_F,TIME_UNIT_F,PRIORITY_F,OFFSET_F,DESC_F) values (0,'D30.T31.P33','Sample',70,0,500,66,'FLOAT64','t',1,1,4,'HHHH')";		
					// 运行sql发起请求
					int executeUpdate = statement.executeUpdate(sql);
					System.out.println("Create Point Success");
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

2、创建数据点历史存储信息

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception {
	try {
			
			/**
			 * 点的设置比较复杂,分成三块进行示例
			 * 分别是基础信息,历史存储信息,告警信息
			 * 该示例是创建数据点的历史存储信息
			 */
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.
					// sql
					/**创建新数据点 P_TABLE
					 * 所需字段
					 * 基础必填信息请参考JDBCCreatePointWithBaseInfo这个测试案例
					 * ARCHIVED_F 是否保存历史数据(默认不填写,则不保存)0是未存档,1是存档
					 * FORCE_SAVE_INTERVAL 强制存历史数据时间
	                 * TIMEOUT_INTERVAL 超时时间
					 * SPACE_COMPRESS_F 空间维度 1是差值压缩,2是数据块压缩,3是两者全选
	                 * DEV_TYPE_F 按量程百分比是PERCENT或者0,按量程物理值是PHYSIC或者1
	                 * DEVIATION_F 量程数值,默认是百分之0.05
	                 * COMPRESS_F 时间维度 0是deadband死区压缩, 1是linuar线性压缩, 2是None无压缩
					 */
					String sql = "INSERT INTO P_TABLE (ALARM_SWITCH_F,NAME_F,POINT_TYPE_F,INIT_VALUE_F,IO_TYPE_F,TOP_SCALE_F,BOTTOM_SCALE_F,DATA_TYPE_F,UNIT_F,TIME_UNIT_F,PRIORITY_F,OFFSET_F,DESC_F,ARCHIVED_F,FORCE_SAVE_INTERVAL,TIMEOUT_INTERVAL,COMPRESS_F,DEV_TYPE_F,DEVIATION_F,SPACE_COMPRESS_F) values (0,'D30.T31.P34','Sample',70,0,500,2,'FLOAT64','t',1,1,4,'HHHH',Archived,600,75,1,'PHYSIC',7,3)";		
					// 运行sql发起请求
					statement.executeUpdate(sql);
					System.out.println("Create Point Success");
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

3、创建数据点告警信息

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception {
	try {
			
			/**
			 * 点的设置比较复杂,分成三块进行示例
			 * 分别是基础信息,历史存储信息,告警信息
			 * 该示例是创建数据点的告警信息
			 */
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.
					// sql
					/**创建新数据点 P_TABLE
					 * 所需字段
					 * 基础必填信息请参考JDBCCreatePointWithBaseInfo这个测试案例
					 * ALARM_SWITCH_F 是否告警(必填) 0是告警 1是告警
					 * ALARM_ACK_TYPE_F 响应方式 MANUAL 还有 AUTO
					 * ALARM_TYPE_F 告警类别 NO ALARM无告警 DEAD ZONE ALARM死区告警 TIMEOUT ALARM超时告警 ON ALARM 开启告警 OFF ALARM关闭告警 CHANGE ALARM 变化 LOW HIGH 低高限 LL HH 低低高高限
					 * ALARM_LEVEL_F 告警级别 none是ZERO 一级是ONE 二级是TWO 三级是THREE 四级是FOUR
					 * ALARM_HIGH_F 告警高限
					 * ALARM_LOW_F 告警低限
					 * ALARM_HH_F 告警高高限
					 * ALARM_LL_F 告警低低限
					 * ALARM_GROUP_ID_F 告警分组id
					 */
					String sql = "INSERT INTO P_TABLE (ALARM_SWITCH_F,NAME_F,IS_REFFER,POINT_TYPE_F,INIT_VALUE_F,IO_TYPE_F,TOP_SCALE_F,BOTTOM_SCALE_F,DATA_TYPE_F,UNIT_F,TIME_UNIT_F,PRIORITY_F,OFFSET_F,DESC_F,ALARM_ACK_TYPE_F,ALARM_TYPE_F,ALARM_LEVEL_F,ALARM_HIGH_F,ALARM_HH_F,ALARM_LOW_F,ALARM_LL_F,ALARM_GROUP_ID_F) values (1,'D30.T31.P35','false','Sample',70,0,500,2,'FLOAT64','t',1,1,4,'HHHH','AUTO','DEAD ZONE ALARM','THREE',100,300,7,5,66)";			
					// 运行sql发起请求
					int executeUpdate = statement.executeUpdate(sql);
					System.out.println("Create Point Success");
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

三、删除数据点

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception {
		try {
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.

					// sql
					/**删除数据点 P_TABLE
					 * 所需字段
					 * name_f  数据库名称加数据表名称加点的名称(例如:TEST01.TEST002.STAT)
					 */
					String sql = "delete from P_TABLE where name_f = 'D30.T31.P32'";	
					// 运行sql发起请求
					statement.executeUpdate(sql);
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

四、修改数据点

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception {
		try {
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.
					// sql
					/**修改数据点信息 P_TABLE
					 * 所需字段
					 * name_f   数据库名称加数据表名称加点的名称(例如:TEST01.TEST002.STAT)
					 * 
					 * 可修改字段
					 * ***基础信息***
					 * INIT_VALUE_F 初始值
					 * UNIT_F 单位
					 * TOP_SCALE_F 量程高限
					 * BOTTOM_SCALE_F 量程低限
					 * DESC_F 描述
					 * FORMAT_F 小数精度
					 * PRIORITY_F 优先级 低是2 中是1 高是0
					 * 
					 * ***基础信息(计算点专属)***
					 * PERIOD_F 计算周期
					 * EXPRESSION_F 计算公式
					 * 
					 * ***历史存储信息***
					 * ARCHIVED_F 是否保存历史数据(默认不填写,则不保存)0是未存档,1是存档
					 * FORCE_SAVE_INTERVAL 强制存历史数据时间
					 * TIMEOUT_INTERVAL 超时时间
					 * SPACE_COMPRESS_F 空间维度 1是差值压缩,2是数据块压缩,3是两者全选
					 * DEV_TYPE_F 按量程百分比是PERCENT,按量程物理值是PHYSIC
					 * DEVIATION_F 默认是百分之0.05
					 * COMPRESS_F 时间维度 0是deadband死区压缩, 1是linuar线性压缩, 2是None无压缩
					 * 
					 * ***告警信息***
					 * ALARM_SWITCH_F  是否告警(必填) 0是告警 1是告警
					 * ALARM_ACK_TYPE_F 响应方式 MANUAL 还有 AUTO
					 * ALARM_TYPE_F 告警类别 NO ALARM无告警 DEAD ZONE ALARM死区告警 TIMEOUT ALARM超时告警 ON ALARM 开启告警 OFF ALARM关闭告警 CHANGE ALARM 变化 LOW HIGH 低高限 LL HH 低低高高限
					 * ALARM_LEVEL_F 告警级别 none是ZERO 一级是ONE 二级是TWO 三级是THREE 四级是FOUR
					 * ALARM_HIGH_F 告警高限
					 * ALARM_LOW_F 告警低限
					 * ALARM_HH_F 告警高高限
					 * ALARM_LL_F 告警低低限
					 * ALARM_GROUP_ID_F 告警分组id
					 */
					String sql = "Update  P_TABLE set INIT_VALUE_F = 78 , UNIT_F ='A' ,TOP_SCALE_F = 360 , BOTTOM_SCALE_F = 3 , DESC_F ='PointUpdate777', FORMAT_F = 5 ,PRIORITY_F = 0,PERIOD_F= 3,"
					 +"ARCHIVED_F=1,FORCE_SAVE_INTERVAL =998,TIMEOUT_INTERVAL=98, SPACE_COMPRESS_F = 3,COMPRESS_F=1,DEV_TYPE_F='PERCENT',DEVIATION_F=3,"
					 +"ALARM_SWITCH_F =1,ALARM_ACK_TYPE_F='AUTO',ALARM_TYPE_F='TIMEOUT ALARM',ALARM_LEVEL_F='FOUR',ALARM_HIGH_F=340,ALARM_LOW_F=5,ALARM_HH_F=350,ALARM_LL_F=4,ALARM_GROUP_ID_F=78 where name_f= 'D30.T31.P34'";		
					// 运行sql发起请求
					statement.executeUpdate(sql);
					System.out.println("Update Point Success");
				
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

五、查询数据点

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception {
		try {
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.
				ResultSet rs = null;

					// sql
					/**查询数据点信息 P_TABLE
					 * 所需字段
					 * name_f   数据库名称加数据表名称加点的名称(例如:TEST01.TEST002.SAMPLE002) 必填
					 * 可查询字段
					 * ***基础信息***
					 * ID_F id
					 * desc_f  数据库描述
					 * INIT_VALUE_F 初始值
                     * UNIT_F 单位
                     * TOP_SCALE_F 量程高限
                     * BOTTOM_SCALE_F 量程低限
                     * REFFER_ID 引用数据点ID
                     * POINT_TYPE_F  数据点类型 Sample是 采样点 Cacl是 计算点
                     * IO_TYPE_F IO类型 0为输入 1为输出 2为中间变量 3为网关 采样点专属属性
                     * DATA_TYPE_F 数据类型
                     * TIME_UNIT_F 分辨率 0是秒 1是毫秒 2是微秒
                     * PRIORITY_F 优先级 低是2 中是1 高是0
                     * EXPRESSION_F 计算公式 计算点专属属性
                     * PERIOD_F 计算周期 计算点专属属性
                     * FORMAT_F 小数精度 例如数据类型为int,则没有小数精度
                     * 
                     * ***历史存储信息***
                     * ARCHIVED_F 是否保存历史数据(默认不填写,则不保存)0是未存档,1是存档
                     * FORCE_SAVE_INTERVAL 强制存历史数据时间
                     * TIMEOUT_INTERVAL 超时时间
                     * DEV_TYPE_F 按量程百分比是PERCENT,按量程物理值是PHYSIC
                     * DEVIATION_F 默认是百分之0.05
                     * COMPRESS_F 时间维度 0是deadband死区压缩, 1是linuar线性压缩, 2是None无压缩
                     * SPACE_COMPRESS_F 空间维度 1是差值压缩,2是数据块压缩,3是两者全选
                     * 
                     * ***告警信息***
                     * ALARM_SWITCH_F 是否告警(必填) 0是告警 1是告警
                     * ALARM_ACK_TYPE_F 响应方式 MANUAL 还有 AUTO
                     * ALARM_TYPE_F 告警类别 NO ALARM无告警 DEAD ZONE ALARM死区告警 TIMEOUT ALARM超时告警 ON ALARM 开启告警 OFF ALARM关闭告警 CHANGE ALARM 变化 LOW HIGH 低高限 LL HH 低低高高限
                     * ALARM_LEVEL_F 告警级别 none是ZERO 一级是ONE 二级是TWO 三级是THREE 四级是FOUR
                     * ALARM_HIGH_F 告警高限
                     * ALARM_LOW_F 告警低限
                     * ALARM_HH_F 告警高高限
                     * ALARM_LL_F 告警低低限
                     * ALARM_GROUP_ID_F 告警分组id 
					 */
//					String sql = "select ARCHIVED_F,ALARM_GROUP_ID_F,desc_f from P_TABLE where name_f ='TEST01.TEST002.TTTT'";		
					String sql = "select * from P_TABLE where name_f ='PUBLIC.SYS.PDB_PROC_CPU_USAGE'";		
					// 运行sql发起请求
					 rs = statement.executeQuery(sql);
					System.out.println("Query P_TABLE Success");
					while (rs.next()) {
						// read the result set
					System.out.println("PUBLIC库的SYS表的PDB_PROC_CPU_USAGE点的属性为:");
					System.out.println("ID:" + rs.getString("ID_F")+",desc_f:"+rs.getString("desc_f")
					+",量程高限:"+rs.getString("TOP_SCALE_F")+",告警级别:"+rs.getString("ALARM_LEVEL_F")+",单位:"+rs.getString("unit_f"));}
					System.out.println("Count: " + rs.getRow());
				
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

示例运行结果:

Query P_TABLE Success
PUBLIC库的SYS表的PDB_PROC_CPU_USAGE点的属性为:
ID:1001000007,desc_f:ProcessDB cpu load rate,量程高限:100.0,告警级别:None,单位:%
Count: 1

六、查询数据点列表

支持上级查询,只输入数据库名,则是该数据库下所有点信息,输入数据库加表名,这是该数据表下的所有点信息,若要查询该连接下的所有点信息,则输入空字符串

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * JDBC查询数据表信息
 */
public class Test {
	public static void main(String[] args) {
		try {
			Class.forName("com.processdb.jdbc.JDBC");

			Connection connection = null;
			Statement statement = null;
			try {
				// 对数据库进行连接
				connection = DriverManager.getConnection("jdbc:processdb://localhost:8301/instance01", "root", "root");
				statement = connection.createStatement();
				// 设置超时时间
				statement.setQueryTimeout(30); // set timeout to 30 sec.
				ResultSet rs = null;
				int i = 0;
				while (i < 1) {
					i++;
					// sql
					/**查询数据点信息 P_TABLE
					 * 所需字段
					 * name_f   数据库名称加数据表名称加点的名称(例如:TEST01.TEST002.SAMPLE002) 必填
					 * 若要查询一张表下的所有点信息,则输入库名加表名即可,库下所有点信息同理,若要查询该连接下所有点信息,则传空字符串即可
					 * 可查询字段
					 * ***基础信息***
					 * desc_f  数据库描述
					 * INIT_VALUE_F 初始值
                     * UNIT_F 单位
                     * TOP_SCALE_F 量程高限
                     * BOTTOM_SCALE_F 量程低限
                     * REFFER_ID 引用数据点ID
                     * POINT_TYPE_F  数据点类型 Sample是 采样点 Cacl是 计算点
                     * IO_TYPE_F IO类型 0为输入 1为输出 2为中间变量 3为网关 采样点专属属性
                     * DATA_TYPE_F 数据类型
                     * TIME_UNIT_F 分辨率 0是秒 1是毫秒 2是微秒
                     * PRIORITY_F 优先级 低是2 中是1 高是0
                     * EXPRESSION_F 计算公式 计算点专属属性
                     * PERIOD_F 计算周期 计算点专属属性
                     * FORMAT_F 小数精度 例如数据类型为int,则没有小数精度
                     * 
                     * ***历史存储信息***
                     * ARCHIVED_F 是否保存历史数据(默认不填写,则不保存)0是未存档,1是存档
                     * FORCE_SAVE_INTERVAL 强制存历史数据时间
                     * TIMEOUT_INTERVAL 超时时间
                     * DEV_TYPE_F 按量程百分比是PERCENT,按量程物理值是PHYSIC
                     * DEVIATION_F 默认是百分之0.05
                     * COMPRESS_F 时间维度 0是deadband死区压缩, 1是linuar线性压缩, 2是None无压缩
                     * SPACE_COMPRESS_F 空间维度 1是差值压缩,2是数据块压缩,3是两者全选
                     * 
                     * ***告警信息***
                     * ALARM_SWITCH_F 是否告警(必填) 0是告警 1是告警
                     * ALARM_ACK_TYPE_F 响应方式 MANUAL 还有 AUTO
                     * ALARM_TYPE_F 告警类别 NO ALARM无告警 DEAD ZONE ALARM死区告警 TIMEOUT ALARM超时告警 ON ALARM 开启告警 OFF ALARM关闭告警 CHANGE ALARM 变化 LOW HIGH 低高限 LL HH 低低高高限
                     * ALARM_LEVEL_F 告警级别 none是ZERO 一级是ONE 二级是TWO 三级是THREE 四级是FOUR
                     * ALARM_HIGH_F 告警高限
                     * ALARM_LOW_F 告警低限
                     * ALARM_HH_F 告警高高限
                     * ALARM_LL_F 告警低低限
                     * ALARM_GROUP_ID_F 告警分组id 
					 */
//					String sql = "select ARCHIVED_F,ALARM_GROUP_ID_F,desc_f from P_TABLE where name_f ='TEST01.TEST002.TTTT'";		
					String sql = "select * from P_TABLE where name_f ='PUBLIC.sys'";		
					// 运行sql发起请求
					 rs = statement.executeQuery(sql);
					System.out.println("Query T_TABLE Success");
					while (rs.next()) {
						// read the result set
					System.out.println("NAME_F:"+rs.getString("NAME_F")+",ALARM_GROUP_ID_F:" + rs.getString("ALARM_GROUP_ID_F")+",desc_f:"+rs.getString("desc_f"));	}
					System.out.println("Count: " + rs.getRow());
				}
				
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				e.printStackTrace();
			} finally {
				try {

					if (statement != null) {
						statement.close();
					}
					if (connection != null) {
						connection.close();
					}
				} catch (SQLException e) {
					System.err.println(e);
				}
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		return;
	}
}

示例运行结果:

Query T_TABLE Success
NAME_F:PDB_OS_CPU_USAGE,ALARM_GROUP_ID_F:0,desc_f:System total cpu load rate
NAME_F:PDB_OS_MEM_USAGE,ALARM_GROUP_ID_F:0,desc_f:System physical memory usage rate
NAME_F:PDB_DISK_READ_SPEED,ALARM_GROUP_ID_F:0,desc_f:System disk read speed
NAME_F:PDB_DISK_WRITE_SPEED,ALARM_GROUP_ID_F:0,desc_f:System disk write speed
NAME_F:PDB_NET_READ_SPEED,ALARM_GROUP_ID_F:0,desc_f:System net read speed
NAME_F:PDB_NET_WRITE_SPEED,ALARM_GROUP_ID_F:0,desc_f:System net write speed
NAME_F:PDB_PROC_CPU_USAGE,ALARM_GROUP_ID_F:0,desc_f:ProcessDB cpu load rate
NAME_F:PDB_PROC_MEM_USED,ALARM_GROUP_ID_F:0,desc_f:ProcessDB physical memory used
NAME_F:PDB_FREE_DISK,ALARM_GROUP_ID_F:0,desc_f:System disk free space
NAME_F:PDB_HANDLE_COUNT,ALARM_GROUP_ID_F:0,desc_f:Used handle count
NAME_F:PDB_OS_RUNNING_TIME,ALARM_GROUP_ID_F:0,desc_f:OS running time
NAME_F:PDB_PROC_RUNNING_TIME,ALARM_GROUP_ID_F:0,desc_f:ProcessDB running time
NAME_F:PDB_PROC_THREAD_COUNT,ALARM_GROUP_ID_F:0,desc_f:ProcessDB thread count
NAME_F:PDB_AVAILABLE_DISK,ALARM_GROUP_ID_F:0,desc_f:System disk available space
NAME_F:PDB_OS_TYPE,ALARM_GROUP_ID_F:0,desc_f:System disk available space
Count: 15

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值