最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?使用JDBC操作PI數(shù)據(jù)庫的方法

 更新時間:2025年08月15日 09:16:59   作者:行者張良  
文章介紹在Windows系統(tǒng)下使用JDBC驅(qū)動訪問PI數(shù)據(jù)庫的方法,涵蓋環(huán)境要求(JRE8+)、安裝步驟(OLEDB、SQLDAS、JDBC驅(qū)動)、連接原理及SpringBoot集成方式,感興趣的朋友跟隨小編一起看看吧

一、概述

(1)環(huán)境:windows 系列、jre 8 及以上
(2)資料:PI 官網(wǎng) https://techsupport.osisoft.com/
(3)常用的訪問PI數(shù)據(jù)庫的方案有:①使用 JDBC Driver 或 ODBC Driver;②使用 PI Web Api;③使用 sdk
本次,我們選擇使用 JDBC Driver 來實現(xiàn)java 訪問PI數(shù)據(jù)庫。

二、JDBC訪問PI數(shù)據(jù)庫原理

PI的JDBC驅(qū)動程序是一個java數(shù)據(jù)庫連接驅(qū)動,通過SQL查詢提供了強大的數(shù)據(jù)訪問PI系統(tǒng) 。PI JDBC Driver 提供了一個類似于java 訪問Mysql或者Oracle 同樣的方式。

但是,JDBC Driver 是 通過中間層 PI SQL DATA Access Server 來實現(xiàn) PI JDBC driver 和 PI OLEDB Enterprise/PI OLEDB providers 之間的交互的。
PI SQL DAS(OLE DB)在客戶端 通過 Net.TCP 或者 HTTPS 來提供安全的網(wǎng)絡連接

三、軟件安裝

(1)百度網(wǎng)盤下載地址:

鏈接: https://pan.baidu.com/s/1SPLpKrfHBPGPzDgb9S_MOQ?pwd=hx7p

提取碼: hx7p 

(2)安裝順序應該是:

  • OLE DB
  • PI SQL Data Access Server
  • PI JDBC Driver 2016

1.安裝 PI OLEDB

進入PI OLEDB目錄,運行:PI OLEDB_2016_.exe

在Default Server填寫PI服務器的ip地址:

2.安裝PI SQL Data Access Server (OLE DB)

進入目錄,運行:PISQLDAS_2016 (1.5.16090.1)_.exe

3.安裝PI JDBC Driver

進入PI JDBC (Windows)目錄,運行:PI JDBC_2016_.exe

5.安裝PI的SQL查詢工具

為了方便使用還可以一個PI ODBC程序,該程序包含一個工具SQL Commander Lite,可以用來查詢SQL。

通過上述的安裝步驟之后,從開始菜單打開SQL Commander Lite,可以連接上 PI 服務,并且使用 類似 sql 語句去查詢PI 中的數(shù)據(jù)。具體 sql語句 查看 幫助文檔如PI-OLEDB-Enterprise-2016-R2-User-Guide.pdf

四、使用JDBC操作PI數(shù)據(jù)庫

1.SpringBoot集成PIJDBC驅(qū)動

從 PI JDBC Driver 安裝后的目錄下取出 PIHOME\JDBC\PIJDBCDriver.jar。將其放在項目的lib 下,引入項目中。

<!-- 引入本地jar包 -->
        <dependency>
            <groupId>com.osisoft</groupId>
            <artifactId>PIJDBCDriver</artifactId>
            <version>1.5.16096</version>
            <scope>system</scope>
           <systemPath>${project.basedir}/lib/PIJDBCDriver.jar</systemPath>
        </dependency>

2.常用JDBC訪問數(shù)據(jù)庫的方式即可查詢PI數(shù)據(jù)庫

package com.bkc.test;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class GetBAMetaData
{
    public static void main(String[] args)
    {
        // arguments: java GetBAMetaData dasName [trustedConnection protocolOrder logLevel]
        // example: java GetBAMetaData myDas yes nettcp:5462 2
        String dasName = "localhost";
        String dataSourceName = "192.168.1.32";
        String isTrustedConnection = "Yes";
        String protocolOrder = "Https/Soap:5461,NetTcp:5462";
        String logLevel = "0";
        System.out.println("\nArguments:");
        System.out.println("\tData Access Server Name: " + dasName);
        System.out.println("\tUse trusted connection?: " + isTrustedConnection);
        System.out.println("\tProtocol order: " + protocolOrder);
        System.out.println("\tLog level: " + logLevel);
        Connection connection = null;
        String url = "";
        String driverClassName = "com.osisoft.jdbc.Driver";
        ResultSet resultSet = null;
        Properties properties = new Properties();
        //url = "jdbc:piintegrator://" + dasName;
        //url = "jdbc:pioledb://" + dasName + "/Data Source=" + dataSourceName + "; Integrated Security=SSPI";
        url = "jdbc:pioledb://" + dasName + "/Data Source=" + dataSourceName + "; Integrated Security=SSPI";
        System.out.println(url);
        properties.put("TrustedConnection", isTrustedConnection);
        properties.put("ProtocolOrder", protocolOrder);
        properties.put("LogConsole", "True");
        properties.put("LogLevel", logLevel);
        try
        {
            Class.forName(driverClassName).newInstance();
            connection = DriverManager.getConnection(url, properties);  
            DatabaseMetaData metaData = connection.getMetaData();
            System.out.println(metaData.getDriverName() + " " + metaData.getDriverVersion()); 
            System.out.println(metaData.getDatabaseProductName());
            System.out.println(metaData.getDatabaseProductVersion() + "\n");
            // get all tables and views
            String tTypes[] = new String[] {"TABLE", "VIEW"};
            resultSet = metaData.getTables(null, null, "%", tTypes);
            if(!resultSet.first())
                throw new Exception ("No rows in the result set.");
            // we are just interested in those 4 columns
            System.out.print("Catalog || ");
            System.out.print("Schema || ");
            System.out.print("Table || ");
            System.out.println("Table Type\n");
            // read the data
            while (!resultSet.isAfterLast()) {
                System.out.print(resultSet.getString("TABLE_CAT") + " || ");
                System.out.print(resultSet.getString("TABLE_SCHEM") + " || ");
                System.out.print(resultSet.getString("TABLE_NAME") + " || ");
                System.out.println(resultSet.getString("TABLE_TYPE"));
                resultSet.next();
            }
        }
        catch (Exception ex)
        {
            System.err.println(ex);
        }
        finally
        {
            try {
                if(resultSet != null) resultSet.close();
                if(connection != null) connection.close();
            } catch (SQLException ex) {
                System.err.println(ex);
            }
        }   
    }
}

到此這篇關于Java 使用JDBC操作PI數(shù)據(jù)庫的文章就介紹到這了,更多相關java jdbc操作pi內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringBoot基于數(shù)據(jù)庫實現(xiàn)定時任務過程解析

    SpringBoot基于數(shù)據(jù)庫實現(xiàn)定時任務過程解析

    這篇文章主要介紹了SpringBoot基于數(shù)據(jù)庫實現(xiàn)定時任務過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • JAVA設計模式之調(diào)停者模式詳解

    JAVA設計模式之調(diào)停者模式詳解

    這篇文章主要介紹了JAVA設計模式之調(diào)停者模式詳解,調(diào)停者模式是對象的行為模式,調(diào)停者模式包裝了一系列對象相互作用的方式,使得這些對象不必相互明顯引用,從而使它們可以較松散地耦合,需要的朋友可以參考下
    2015-04-04
  • java  StringBuilder類的詳解及簡單實例

    java StringBuilder類的詳解及簡單實例

    這篇文章主要介紹了java StringBuilder類的詳解及簡單實例的相關資料,實現(xiàn)了StringBuilder類的追加、插入、替換、刪除等操作,需要的朋友可以參考下
    2017-08-08
  • Java使用Streams時的7個常見錯誤與解決方案

    Java使用Streams時的7個常見錯誤與解決方案

    這篇文章主要為大家詳細介紹了Java使用Streams時的7個常見錯誤與解決方案,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • Java 網(wǎng)絡編程之 TCP 實現(xiàn)簡單的聊天系統(tǒng)

    Java 網(wǎng)絡編程之 TCP 實現(xiàn)簡單的聊天系統(tǒng)

    這篇文章主要介紹了Java 網(wǎng)絡編程之 TCP 實現(xiàn)簡單的聊天系統(tǒng),幫助大家更好的理解和學習Java 網(wǎng)絡編程,感興趣的朋友可以了解下
    2020-11-11
  • Java中Socket用法詳解

    Java中Socket用法詳解

    本文詳細講解了Java中Socket的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • Spring集成MyBatis?及Aop分頁的實現(xiàn)代碼

    Spring集成MyBatis?及Aop分頁的實現(xiàn)代碼

    這篇文章主要介紹了Spring集成MyBatis?及Aop分頁的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • JAVA中阻止類的繼承(官方和非官方)

    JAVA中阻止類的繼承(官方和非官方)

    在面向?qū)ο蟮睦碚撝? 有一些方案要求你用一個辦法來聲明一個不可繼承的類。一般而言,如果類提供的功能不應該被改變,或者更恰當?shù)恼f,是被覆蓋(override)的時候才會出現(xiàn)這種情況。在這篇文章里,我討論在JAVA語言中的實現(xiàn)辦法--官方和非官方的辦法
    2014-01-01
  • Spring?MVC基于注解的使用之JSON數(shù)據(jù)處理的方法

    Spring?MVC基于注解的使用之JSON數(shù)據(jù)處理的方法

    這篇文章主要介紹了Spring?MVC基于注解的使用JSON數(shù)據(jù)處理,json是一種輕量級的數(shù)據(jù)交換格式,是一種理想的數(shù)據(jù)交互語言,它易于閱讀和編寫,同時也易于機器解析和生成,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Java中的引用類型和使用場景詳細

    Java中的引用類型和使用場景詳細

    這篇文章介紹的是Java中的引用類型和使用場景,主要內(nèi)容展開Java中的引用類型,有強引用、軟引用 、弱引用、虛引用,需要的朋友可以參考一下
    2021-10-10

最新評論

石首市| 双江| 崇义县| 江油市| 杭锦后旗| 油尖旺区| 安岳县| 渭源县| 本溪市| 淮安市| 林口县| 梓潼县| 辽源市| 温泉县| 鄂尔多斯市| 永兴县| 黑龙江省| 盐城市| 临安市| 罗甸县| 夏邑县| 泾源县| 库车县| 胶南市| 肃宁县| 安徽省| 仙桃市| 岱山县| 天祝| 中宁县| 安顺市| 正定县| 和硕县| 巩义市| 武冈市| 平凉市| 封开县| 屯留县| 曲阜市| 循化| 固安县|