PI数据库开发-java(读写pi中的时序数据和关系数据)
pi数据库分为采集模块(接口机)、DA(数据库)、AF(建模用)、PI Vision(图表用)、PI域控机等。java开发需要在域内装OLEADB PROVIDER、OLEAD(SQL DAS)、PI JDBC Driver软件。如图:具体网址为:https://customers.osisoft.com/s/knowledgearticle?knowledgeArticleUrl=Playboo
- pi数据库分为采集模块(接口机)、DA(数据库)、AF(建模用)、PI Vision(图表用)、PI域控机等。
- java开发需要在域内装OLEADB PROVIDER、OLEAD(SQL DAS)、PI JDBC Driver软件。如图:
具体网址为:https://customers.osisoft.com/s/knowledgearticle?knowledgeArticleUrl=Playbook-PI-JDBC-Driver pi jdbc driver具体资料:PI JDBC pi jdbc底层使用的还是pi oledb provider,所以必须了解下pi oledb provider。网址为:PI OLEDB Provider
- 按照软件以后使用pi推荐的DbVisualizer连接工具测试,是否成功:https://customers.osisoft.com/s/knowledgearticle?knowledgeArticleUrl=How-to-setup-DBVisualizer-for-PI-JDBC-Driver
成功后在项目中增加pi的jar及pom配置:
pom中:
<dependency> <groupId>com.osisoft</groupId> <artifactId>PIJDBCDriver</artifactId> <version>1.7.21114.1</version> <scope>system</scope> <systemPath>${pom.basedir}/lib/PIJDBCDriver.jar</systemPath> </dependency>
pom中build增加:
<resources>
<resource>
<directory>lib</directory>
<targetPath>/BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
如下图:
5.项目增加多数据源管理:
- jdbc配置:
- 代码中增加pi jdbc的bean:
@Bean(name="piDataSource")
@ConfigurationProperties("spring.datasource.druid.pi")
public DataSource piDataSource(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
dataSource.setDriverClassName("com.osisoft.jdbc.Driver");
dataSource.addConnectionProperty("TrustedConnection","No");
dataSource.addConnectionProperty("ProtocolOrder","Https/Soap:5461,NetTcp:5462");
dataSource.addConnectionProperty("LogConsole","True");
dataSource.addConnectionProperty("LogLevel","0");
return druidProperties.dataSource(dataSource);
}
6.使用pi jdbc,使用数据源切换到pi数据库查询数据
7.mapper中使用pi数据库中表的说明:
1)查询实时数据:pisnapshot为快照表,只能查询不能进行其它操作
select tag, time, value from pisnapshot
2)插入或修改数据:picomp2 picomp2个表都可,picomp比较老,建议使用picomp2。
insert into piarchive..picomp2 (tag,value,time,status) values('zhtest',233,'2021-07-08 11:36:26',0);
update piarchive..picomp2 set time='2021-07-06 11:36:26',value=233 where tag='zhtest';
具体表说明见:
更多推荐
所有评论(0)