一、方法
1.Oracle JDBC 连接ServiceName
jdbc:oracle:thin:@//<host>:<port>/<service_name>
例:jdbc:oracle:thin@//10.1.112.110:1521/Health
注:@后面有//。这种格式主要针对集群,每个节点的SID不同,但是SERVICE_NAME可以包含所有节点。
2.Oracle JDBC 连接 ServiceID
jdbc:oracle:thin:@<host>:<port>:<SID>
例:jdbc:oralce:thin:10.1.112.110:1521:heal
这个不用多说,大家大部分都是使用这个。
3.Oracle JDBC连接 TNSName
jdbc:oracle:thin:@<TNSName>
例:jdbc:oracle:thin:@TNSHeal
二、测试
1.使用Service_Name
在11G中会出现错误 java.sql.SQLException:The Network Adapter could not establish the connection .
修改方式:oracle.jdbc.driver.OracleDriver 更改为 oracle.jdbc.OracleDriver
使用TNSName
可以会报错 java.sql.SQLException: Unknown host specified
解决办法有2个:
<1>启动VM arguments 添加参数
Doracle.net.tns_admin=D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
<2>在 Java代码中添加
System.setProperty("oracle.net.tns_admin","D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN")
public jdbc() {
try {
System.setProperty("oracle.net.tns_admin","D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// Class.forName("oracle.jdbc.OracleDriver").newInstance();
c = DriverManager.getConnection(dbUrl, theUser, thePw);
conn = c.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
1.Oracle JDBC 连接ServiceName
jdbc:oracle:thin:@//<host>:<port>/<service_name>
例:jdbc:oracle:thin@//10.1.112.110:1521/Health
注:@后面有//。这种格式主要针对集群,每个节点的SID不同,但是SERVICE_NAME可以包含所有节点。
2.Oracle JDBC 连接 ServiceID
jdbc:oracle:thin:@<host>:<port>:<SID>
例:jdbc:oralce:thin:10.1.112.110:1521:heal
这个不用多说,大家大部分都是使用这个。
3.Oracle JDBC连接 TNSName
jdbc:oracle:thin:@<TNSName>
例:jdbc:oracle:thin:@TNSHeal
二、测试
1.使用Service_Name
在11G中会出现错误 java.sql.SQLException:The Network Adapter could not establish the connection .
修改方式:oracle.jdbc.driver.OracleDriver 更改为 oracle.jdbc.OracleDriver
使用TNSName
可以会报错 java.sql.SQLException: Unknown host specified
解决办法有2个:
<1>启动VM arguments 添加参数
Doracle.net.tns_admin=D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
<2>在 Java代码中添加
System.setProperty("oracle.net.tns_admin","D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN")
public jdbc() {
try {
System.setProperty("oracle.net.tns_admin","D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// Class.forName("oracle.jdbc.OracleDriver").newInstance();
c = DriverManager.getConnection(dbUrl, theUser, thePw);
conn = c.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}