我是靠谱客的博主 大气玫瑰,最近开发中收集的这篇文章主要介绍ProcessDB实时/时序数据库——JAVA_API读写实时数据一、实时数据字段二、插入实时数据三、查询实时数据,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一、实时数据字段
int pointId;//实时数据对应的数据点ID
String pointName;//实时数据对应的数据点名
Date timeStamp;//实时时间
short nQuality;//数据质量,如果数据在时限内没有更新,则为BAD,否则为GOOD
byte nTagType;//数据类型,例如ConstantValue.TAG_TYPE_FLOAT32
boolean nBool; //根据数据类型,传输相应的值
byte nDigital;//根据数据类型,传输相应的值
byte nInt8;//根据数据类型,传输相应的值
short nInt16;//根据数据类型,传输相应的值
int nInt32;//根据数据类型,传输相应的值
long nInt64;//根据数据类型,传输相应的值
float fFloat32;//根据数据类型,传输相应的值
double fFloat64;//根据数据类型,传输相应的值
二、插入实时数据
import java.util.Date;
import java.util.Vector;
import com.processdb.connection.DBConnect;
import com.processdb.connection.DBConnectManager;
import com.processdb.connection.DBPoint;
import com.processdb.connection.DBRoot;
import com.processdb.connection.DBTable;
import com.processdb.connection.DBase;
import com.processdb.driver.common.ConnectInfo;
import com.processdb.driver.dao.DBRealtimeDataDao;
import com.processdb.driver.record.MemSampleRecord;
public class Test {
public static void main(String[] args) throws Exception
{
ConnectInfo host = new ConnectInfo();
host.setConnectName("instance01");
host.setHostName("127.0.0.1");
host.setHostPort(8301);
host.setUserName("root");
host.setPassword("root");
host.setCacheable(false);
DBConnect myConn = null;
myConn = DBConnectManager.getInstance().getConnect(host);
DBRoot root = DBRoot.getInstance(myConn);
String dbname ="D30";
DBase dBase = root.getCachedDatabaseByName(dbname);
String tableName ="T31";
DBTable dbtable = dBase.getCachedTableByName(tableName);
String pointName = "P30";
DBPoint dbpoint = dbtable.getCachedPointByName(pointName);
Vector<MemSampleRecord> recordList = new Vector<MemSampleRecord>();
MemSampleRecord recorData = new MemSampleRecord();
int counter = 50;
recorData.setPointId(dbpoint.getID());
//根据需要插入的实时库数据的属性
recorData.setTagType(dbpoint.getDataType());
recorData.setFloat32((float)(counter%100));
short status = (short) 0;
recorData.setQuality(status);
recorData.setTimeStamp(new Date());
recordList.add(recorData);
int res = DBRealtimeDataDao.insertRealtimeData(myConn,recordList);
if(res != 0)
{
System.out.print("Insert RealTimeData failed, error code: " + res);
return;
}
else
{
System.out.print("Insert RealTimeData success.");
}
}}
三、查询实时数据
import java.util.Vector;
import com.processdb.connection.DBConnect;
import com.processdb.connection.DBConnectManager;
import com.processdb.connection.DBPoint;
import com.processdb.connection.DBRoot;
import com.processdb.connection.DBTable;
import com.processdb.connection.DBase;
import com.processdb.driver.common.ConnectInfo;
import com.processdb.driver.dao.DBRealtimeDataDao;
public class Test {
public static void main(String[] args) throws Exception
{
ConnectInfo host = new ConnectInfo();
host.setConnectName("instance01");
host.setHostName("127.0.0.1");
host.setHostPort(8301);
host.setUserName("root");
host.setPassword("root");
host.setCacheable(false);
DBConnect myConn = null;
myConn = DBConnectManager.getInstance().getConnect(host);
DBRoot root = DBRoot.getInstance(myConn);
String dbname ="D30";
DBase dBase = root.getCachedDatabaseByName(dbname);
String tableName ="T31";
DBTable dbtable = dBase.getCachedTableByName(tableName);
String pointName = "P30";
DBPoint dbpoint = dbtable.getCachedPointByName(pointName);
Vector<DBPoint> pointList = new Vector<DBPoint>();
pointList.add(dbpoint);
DBRealtimeDataDao.queryPointRealdata(myConn, pointList);
System.out.println("实时数据时间:"+dbpoint.getTime()+",实时数据
值:"+dbpoint.getFloat32());
}}
示例结果如下:
实时数据时间:Fri Nov 04 12:03:08 GMT+08:00 2022,实时数据值:50.0
最后
以上就是大气玫瑰为你收集整理的ProcessDB实时/时序数据库——JAVA_API读写实时数据一、实时数据字段二、插入实时数据三、查询实时数据的全部内容,希望文章能够帮你解决ProcessDB实时/时序数据库——JAVA_API读写实时数据一、实时数据字段二、插入实时数据三、查询实时数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复