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)
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)))