Java query the Oracle Database Cluster connection string and JDBC jar package selection. event: The report interface database suddenly fails to be connected, resulting in a failure to retrieve data normally. exception information: Io exception: got minus one from a read call
Analysis: the database address and configuration information change. After inquiry, the database is changed to the cluster mode. result: 1. modify the common JDBC connection string to the cluster working mode. 2. the jdbc jar file in the interface is not suitable for cluster operation. 1. jdbc jar file selection,
Serial number |
Common JDBC driver packages |
JDK 1.4 |
JDK 1.5 |
JDK 1.6 |
Singleton Database |
Cluster Database |
Class. forname |
1 |
Oraclejdbcdriver9i. Jar |
Supported |
Supported |
Supported |
Supported |
Not Supported |
Oracle. JDBC. oracledriver |
2 |
Classes12.jar (Oracle 92i) |
Supported |
Supported |
Supported |
Supported |
Not Supported |
Oracle. JDBC. oracledriver |
3 |
Ojdbc14.jar (Oracle 92i) |
Supported |
Supported |
Supported |
Supported |
Not Supported |
Oracle. JDBC. oracledriver |
4 |
Classes12.jar (Oracle 10g) |
Supported |
Supported |
Supported |
Supported |
Supported |
Oracle. JDBC. oracledriver |
5 |
Ojdbc14.jar (Oracle 10g) |
Supported |
Supported |
Supported |
Supported |
Supported |
Oracle. JDBC. oracledriver |
6 |
Ojdbc5.jar |
Not Supported |
Supported |
Supported |
Supported |
Supported |
Class. forname loading not required |
7 |
Ojdbc6.jar |
Not Supported |
Not Supported |
Supported |
Supported |
Supported |
Class. forname loading not required |
1: oraclejdbcdriver9i. Jar. This is my common JDBC driver! The account name (manifest. mf) the content is blank. The preliminary analysis is the product of oracle92i era. serial number 2, 3: The same outbound portal, all of which come with oracle92i, home address: Oracle/jdbc/lib
Classes12.jarAccount Description: Specification-title: "oracle JDBC driver classes for use with jdk1.2 and jdk1.3" Specification-version: "oracle JDBC driver version-9.0.2.0.0"
Ojdbc14.jarAccount Description: Specification-title: "oracle JDBC driver classes for use with jdk1.4" Specification-version: "oracle JDBC driver version-9.0.2.0.0" No. 4, 5: the biggest difference between the product of Oracle 10g and Oracle 92i is that it supports cluster query. no. 6, 7: ojdbc5.jar supports JDK 1.5, JDBC 3.0 ojdbc6.jar supports JDK 1.6, and JDBC 4.0 does not require Class execution. forname ("oracle. JDBC. oracledriver "); directly
Drivermanager. getconnection (URL, user, PWD); OK.
If the project only supports jdk1.4, do not act rashly. Select No. 4 or 5.
If the project supports jdk1.5 or a later Recommendation Number of 6, 7 study the new features.
2. Connect strings in the cluster working mode... select attributes outside the connection with caution. Lazy and paste the code!
Stringbuffer url = new stringbuffer (); URL. append ("JDBC: oracle: thin: @ (description = (address_list ="); URL. append ("(address = (Protocol = TCP) (host = 192.168.31.9) (Port = 1521)"); // append cluster information as needed, the format is as follows // BF. append ("(address = (Protocol = TCP) (host = 10.37.27.112) (Port = 1521)"); URL. append ("(load_balance = yes)"); // load_balance = yes; indicates whether the Server Load balancer URL is used. append (")"); // address_list end URL. append ("(CONNECT_DATA ="); URL. append ("(Server = dedicated)"); // server = dedicated; indicates the dedicated server mode. You can remove the URL. append ("(SERVICE_NAME = wangjj)"); // URL of the Database Service name. append ("(failover_mode ="); URL. append ("(type = session)"); // type = session indicates that when the instance of a connected session fails, the system automatically switches the session to another available instance, the front-end application does not need to initiate a connection again, but the SQL statement being executed by the session needs to re-execute the URL. append ("(method = Basic)"); // method = Basic indicates that the initial connection is connected to a contact. The initial connection has a preconnect option, indicating all the contact URLs of the initial connection. append ("(retries = 5)"); // URL of retries. append ("(delay = 15)"); // The unit of delay retry delay is second URL. append (")"); // failover_mode end URL. append (")"); // CONNECT_DATA ends
URL. append (")"); // description ends