java怎樣連接ORACLE DG BROKER

一:主要步驟

①:先確保將tnsnames.ora文件上傳到了程序服務器上。

tnsnames.ora文件內容如下:

自定義名稱=
    (DESCRIPTION=
    (ADDRESS_LIST=
    (FAILOVER=on)
    (LOAD_BALANCE=off) 
    (ADDRESS=(PROTOCOL=tcp)(HOST=你的主數據庫服務器IP)(PORT=1521))
    (ADDRESS=(PROTOCOL=tcp)(HOST=你的從數據庫服務器IP)(PORT=1521)))
    (CONNECT_DATA=(SERVICE_NAME=服務名)))

②:關鍵代碼:

System.setProperty("oracle.net.tns_admin", "TNSNAMES.ORA所在路徑");

String url = "jdbc:oracle:thin:@服務名";

 

二:詳細示例

 

import java.sql.*;
import java.util.Properties;
/**
 * Created by 10412 on 2016/12/27.
 * JDBC的六大步驟
 */
public class ConnectOracle
{
    public static void main(String[] args) {
        Connection connect = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            //第一步:註冊驅動
            //第一種方式:類加載(常用)
            Class.forName("oracle.jdbc.OracleDriver");


            //第二步:獲取連接
            //第一種方式:利用DriverManager(常用)
            //connect = DriverManager.getConnection("jdbc:oracle:thin:@10.244.7.1:1521:dx", "scott", "tiger");
            System.setProperty("oracle.net.tns_admin", "E:\\JAVA_PRACTISE");
            connect = DriverManager.getConnection("jdbc:oracle:thin:@dxsrv", "scott", "tiger");

            //第三步:獲取執行sql語句對象

            PreparedStatement preState = connect.prepareStatement("select  * from t where id = 1");


            //第四步:執行sql語句

            resultSet = preState.executeQuery();        //執行查詢語句


            //第五步:處理結果集
            while (resultSet.next())
            {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                System.out.println(id+"   "+name);  //打印輸出結果集
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //第六步:關閉資源
            try {
                if (resultSet!=null) resultSet.close();
                if (statement!=null) statement.close();
                if (connect!=null) connect.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

--備註:

假如是已經上線了的程序,可以不用修改代碼也能實現該功能:System.setProperty("oracle.net.tns_admin", "TNSNAMES.ORA所在路徑");

java程序啓動的時候 加一個-D的參數, 就和System.setProperty作用一樣

如:

-Doracle.net.tns_admin="E:\\JAVA_PRACTISE"

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章