How to test connection to Oracle Database using Java

后端 未结 10 1680
迷失自我
迷失自我 2021-02-04 09:56

Is there a way to test my connection to oracle database using Java? Here\'s my code.

public class OracleConnection {

    public static void main(String[] args)          


        
10条回答
  •  被撕碎了的回忆
    2021-02-04 10:50

    Don't reinvent the wheel. Oracle's JDBC driver already has this functionality built-in.

    This is useful: http://www.orafaq.com/wiki/JDBC

    import java.util.ArrayList;
    import java.sql.*;
    
    public class OracleConnection {
    
        public static void main(String[] args) throws Exception {
            //connect to database
            Class.forName("oracle.jdbc.driver.OracleDriver");
            ArrayList serverNames = new ArrayList();
            serverNames.add("yourhostname1");
            serverNames.add("yourhostname2");
            serverNames.add("yourhostname3");
            serverNames.add("yourhostname4");
            String portNumber = "1521";
            String sid = "ORCLSID";
            String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)" ;
            for (String serverName : serverNames) {  
                url += "(ADDRESS=(PROTOCOL=tcp)(HOST="+serverName+")(PORT="+portNumber+"))";
            }
            url += ")(CONNECT_DATA=(SID="+sid+")))";
            String username = "USERNAME";
            String password = "PASSWORD";
            // System.out.println(url); // for debugging, if you want to see the url that was built
            Connection conn = DriverManager.getConnection(url, username, password);
        }
    }
    

    The above code actually builds and uses url that looked like this (as example belows). I got this explicitly by uncommenting the debugging line near the end of the code:

    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=
        (LOAD_BALANCE=ON)(FAILOVER=ON)
        (ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname1)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname2)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname3)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=yourhostname4)(PORT=1521))
      )(CONNECT_DATA=(SID=ORCLSID)))
    

提交回复
热议问题