New to JDBC
Hello,
I�m new to JDBC and I�m trying to execute a very basic query against Oracle database.
The very same query gives expected output when is executed directly on the database in SQL*Plus:
select sum(account_balance) from accounts
SUM(ACCOUNT_BALANCE)
125000
when my JDBC program says that the responce data is null (System.out.println(rset.getObject(i)); prints null):
columnClassName = java.math.BigDecimal
null
Could you plz give me a hint what am I doing wrong?
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
String url = "jdbc:oracle:thin:@walery:1521:wal";
String userName = "scott";
String password = "tiger";
Connection conn =
DriverManager.getConnection(url, userName, password);
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select sum(account_balance) from accounts");
ResultSetMetaData metaData = rset.getMetaData();
int columnCount = metaData.getColumnCount();
while (rset.next())
for (int i = 1; i <= columnCount; i++) {
String columnClassName = metaData.getColumnClassName(i);
System.out.println("columnClassName = " + columnClassName);
System.out.println(rset.getObject(i));
}
I'm sorry guys, I was using the wrong scheme. Now
it's ok.Cool. I'm glad it was something simple. :-)
Similar Messages
-
New WLS JDBC Technology page on dev2dev
There is a new WLS JDBC technology page on dev2dev at
http://dev2dev.bea.com/technologies/jdbc/index.jsp.
We also expect to be posting new papers to it shortly.Hi Eric,
The FAQs are already linked under "Newsgroups and FAQ".
Tom
Eric Ma wrote:
> Tom:
>
> Thanks for pulling all the resources together in one place. Can you also add
> links to JMS FAQ's?
>
> Eric
>
> Tom Barnes <[email protected]> wrote:
>
>>For the first time, it's all in one place!
>>
>>There is a new comprehensive JMS technology page on dev2dev for all
>>public things JMS. It covers WebLogic versions 6.1 and later:
>>
>> http://dev2dev.bea.com/technologies/jms/index.jsp
>>
>>The technology page is also accessible from the left-hand nav underneath
>>the Technologies header.
>>
>>In addition, there is a new JMS features section in edocs, which, also
>>for the first time, centrally lists JMS features and their related
>>links:
>>
>> http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
>>
>>Any feedback is welcome, and can go to dev2dev, or myself
>>([email protected]).
>>
>>Tom, BEA
>>
>
>
-
Pretty new to jdbc...
Hi...I did more ASP than anything else and so I just would like to know if there is such a thing in java as connection strings(just like an oledb or ADO connection string in ASP to connect to a database) instead of using an ODBC type connection. That's because I don't have access to a DSN on the server to which I'm uploading.
Thanks!
pking...2002JDBC uses connection strings. The connection string defines the JDBC driver and optionally other information that the driver might use. The optional information is specific to the specific driver.
ODBC only uses DSNs on the client box. Unless you have a file DSN and you have mapped drive to that file DSN, then using the DSN on the server is not an option in any case.
If you want to use the jdbc-odbc bridge driver then the JVM on the client must be a Sun JVM. You can either create a DSN on each client or use a DSN-less connection string. The DSN-less connection string format will depend on the database that you are connecting to. For examples you can search this forum using "DSN-less" and the name of your database.
If it is relevant then keep in mind that ODBC is not a suitable internet tool. It is suitable for a intranet. -
New to JAVA - ODBC/JDBC - clarification
Hi,
I am using Window XP. I am in my initial stages of learning JAVA.
I am using one of the books to learn the language. I wrote to the following code to interact with the database - "websites.mdb" which is in a different location than java.
import java.sql.*;
public class MakeTheConnection
public static void main (String[] args)
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String sourceURL = new String ("jdbc:odbc:websites");
Connection DatabaseConnection = DriverManager.getConnection(sourceURL);
catch (ClassNotFoundException cnfe)
System.out.println(cnfe);
catch (SQLException sqle)
System.out.println(sqle);
When I run the above code I am geting the following error:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
I also tried creating a DSN which I tried using it here in the sourceURL but still in vain, i got the same error. I would really appreciate if somebody could help me in providing pointer or information regarding to solve this problem and be able to interact with databases. I use MS access.
Thanks in advance.
PKHi,
I created the file DSN through Control panel - > ODBC called "Test" and I used that in the following manner:
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String sourceURL = new String ("jdbc:odbc:Test");
Connection DatabaseConnection = DriverManager.getConnection(sourceURL);
I hope that is right. I am trying to execute using these code. I am getting the following error, I am not sure where the problem is.
C:\jdk1.5.0\bin>java MakeTheConnection
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Please do let me know.
Regards,
PK -
New SQL Server 2005 JDBC Driver
Dear All,
I am grasping for straws here. I have a very strange issue with
the new Microsoft JDBC driver (Microsoft SQL Server 2005 JDBC Driver).
I have a couple of strange things happenning when I am using this driver,
but the most critical one is that the application literally hangs
executing a readObject statement:
ExpressionBuilder trp= new ExpressionBuilder();
Expression exp1 = trp.get("ID").equal(ID);
getDatabaseSession().readObject(Trip.class, exp1);
I can see that it actually executes the statement, then hangs.
Any ideas would be greatly appreciated
I am using 10g Release 3 (10.1.3.0.0) (Build 060118)Are you able to get a thread dump to see where the threads are?
Doug -
Using JDBC to write a DAT file with delimiters to a database
Hi Everybody
I am new to JDBC and i am trying out some small applications: I downloaded this small program and tried to compile it and and I got the following errors: ( I have MySql installed). I have to set the classpath for the driver. But I am not sure why I am gettting the NullPointerException though)
I will be very gratefull to your help. Thanks a lot..
Loading JDBC Driver -> oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at us.ilango.WriteFileToTable.<init>(WriteFileToTable.java:69)
at us.ilango.WriteFileToTable.main(WriteFileToTable.java:367)
java.lang.NullPointerException
at us.ilango.WriteFileToTable.createTable(WriteFileToTable.java:97)
at us.ilango.WriteFileToTable.main(WriteFileToTable.java:368)
Exception in thread "main"
the Program is as follows:
package us.ilango;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.StringTokenizer;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.NumberFormat;
import java.text.ParseException;
* The following class provides an example of how to read a simple text file
* of records and then insert them into a table in a database. A text file
* named Employee.txt will contain employee records to be inserted into the
* following table:
* SQL> desc emp
* Name Null? Type
* EMP_ID NOT NULL NUMBER
* DEPT_ID NUMBER
* NAME NOT NULL VARCHAR2(30)
* DATE_OF_BIRTH NOT NULL DATE
* DATE_OF_HIRE NOT NULL DATE
* MONTHLY_SALARY NOT NULL NUMBER(15,2)
* POSITION NOT NULL VARCHAR2(100)
* EXTENSION NUMBER
* OFFICE_LOCATION VARCHAR2(100)
* NOTE: This example will provide and call a method that creates the EMP
* table. The name of the method is called createTable() and is called
* from the main() method.
public class WriteFileToTable {
final static String driverClass = "oracle.jdbc.driver.OracleDriver";
final static String connectionURL = "jdbc:oracle:thin:@localhost:1521:CUSTDB";
final static String userID = "scott";
final static String userPassword = "tiger";
final static String inputFileName = "Employee.txt";
final static String TABLE_NAME = "EMP";
final static String DELIM = ",";
Connection con = null;
* Construct a WriteFileToTable object. This constructor will create an
* Oracle database connection.
public WriteFileToTable() {
try {
System.out.print(" Loading JDBC Driver -> " + driverClass + "\n");
Class.forName(driverClass).newInstance();
System.out.print(" Connecting to -> " + connectionURL + "\n");
this.con = DriverManager.getConnection(connectionURL, userID, userPassword);
System.out.print(" Connected as -> " + userID + "\n");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
* Method used to create the initial EMP table. Before attempting to create
* the table, this method will first try to drop the table.
public void createTable() {
Statement stmt = null;
try {
stmt = con.createStatement();
System.out.print(" Dropping Table: " + TABLE_NAME + "\n");
stmt.executeUpdate("DROP TABLE " + TABLE_NAME);
System.out.print(" - Dropped Table...\n");
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
System.out.print(" - Table " + TABLE_NAME + " did not exist.\n");
try {
stmt = con.createStatement();
System.out.print(" Creating Table: " + TABLE_NAME + "\n");
stmt.executeUpdate("CREATE TABLE emp (" +
" emp_id NUMBER NOT NULL " +
" , dept_id NUMBER " +
" , name VARCHAR2(30) NOT NULL " +
" , date_of_birth DATE NOT NULL " +
" , date_of_hire DATE NOT NULL " +
" , monthly_salary NUMBER(15,2) NOT NULL " +
" , position VARCHAR2(100) NOT NULL " +
" , extension NUMBER " +
" , office_location VARCHAR2(100))");
System.out.print(" - Created Table...\n");
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
* Method used to read records from Employee.txt file then write the records
* to an Oracle table within the database named "EMP".
public void performLoadWrite() {
Statement stmt = null;
int insertResults = 0;
StringTokenizer st = null;
String emp_id;
String dept_id;
String name;
String date_of_birth;
String date_of_hire;
String monthly_salary;
String position;
String extension;
String office_location;
try {
System.out.print(" Creating Statement...\n");
stmt = con.createStatement ();
System.out.print(" Create FileReader Object for file: " + inputFileName + "...\n");
FileReader inputFileReader = new FileReader(inputFileName);
System.out.print(" Create BufferedReader Object for FileReader Object...\n");
BufferedReader inputStream = new BufferedReader(inputFileReader);
String inLine = null;
while ((inLine = inputStream.readLine()) != null) {
st = new StringTokenizer(inLine, DELIM);
emp_id = st.nextToken();
dept_id = st.nextToken();
name = st.nextToken();
date_of_birth = st.nextToken();
date_of_hire = st.nextToken();
monthly_salary = st.nextToken();
position = st.nextToken();
extension = st.nextToken();
office_location = st.nextToken();
System.out.print(" Inserting value for [" + name + "]\n");
insertResults = stmt.executeUpdate(
"INSERT INTO " + TABLE_NAME + " VALUES (" +
emp_id +
" , " + dept_id +
" , '" + name + "'" +
" , '" + date_of_birth + "'" +
" , '" + date_of_hire + "'" +
" , " + monthly_salary +
" , '" + position + "'" +
" , " + extension +
" , '" + office_location + "')");
System.out.print(" " + insertResults + " row created.\n");
System.out.print(" Commiting Transaction...\n");
con.commit();
System.out.print(" Closing inputString...\n");
inputStream.close();
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
* Method used to query records from the database table EMP. This method
* can be used to verify all records have been correctly loaded from the
* example text file "Employee.txt".
public void queryRecords() {
Statement stmt = null;
ResultSet rset = null;
int deleteResults = 0;
int rowNumber = 0;
int emp_id;
int dept_id;
String name;
String date_of_birth;
Date date_of_birth_p;
String date_of_hire;
Date date_of_hire_p;
float monthly_salary;
String position;
int extension;
String office_location;
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
NumberFormat defaultFormat = NumberFormat.getCurrencyInstance();
System.out.print(" Creating Statement...\n");
stmt = con.createStatement ();
System.out.print(" Opening query for table: " + TABLE_NAME + "...\n");
rset = stmt.executeQuery ("SELECT * FROM emp ORDER BY emp_id");
while (rset.next ()) {
rowNumber = rset.getRow();
emp_id = rset.getInt(1);
if ( rset.wasNull() ) {emp_id = -1;}
dept_id = rset.getInt(2);
if ( rset.wasNull() ) {dept_id = -1;}
name = rset.getString(3);
if ( rset.wasNull() ) {name = "<null>";}
date_of_birth = rset.getString(4);
if ( rset.wasNull() ) {date_of_birth = "1900-01-01";}
try {
date_of_birth_p = formatter.parse(date_of_birth);
} catch (ParseException e) {
date_of_birth_p = new Date(0);
date_of_hire = rset.getString(5);
if ( rset.wasNull() ) {date_of_hire = "1900-01-01";}
try {
date_of_hire_p = formatter.parse(date_of_hire);
} catch (ParseException e) {
date_of_hire_p = new Date(0);
monthly_salary = rset.getFloat(6);
if ( rset.wasNull() ) {monthly_salary = 0;}
position = rset.getString(7);
if ( rset.wasNull() ) {position = "<null>";}
extension = rset.getInt(8);
if ( rset.wasNull() ) {extension = -1;}
office_location = rset.getString(9);
if ( rset.wasNull() ) {office_location = "<null>";}
System.out.print(
"\n" +
" RESULTS -> [R" + rowNumber + "] " + "\n" +
" Employee ID : " + emp_id + "\n" +
" Department ID : " + dept_id + "\n" +
" Employee Name : " + name + "\n" +
" D.O.B. : " + date_of_birth_p + "\n" +
" Date of Hire : " + date_of_hire_p + "\n" +
" Monthly Salary : " + defaultFormat.format(monthly_salary) + "\n" +
" Position : " + position + "\n" +
" Extension : x" + extension + "\n" +
" Office Location : " + office_location +
"\n");
System.out.print(" Closing ResultSet...\n");
rset.close();
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
* Close down Oracle connection.
public void closeConnection() {
try {
System.out.print(" Closing Connection...\n");
con.close();
} catch (SQLException e) {
e.printStackTrace();
* Sole entry point to the class and application.
* @param args Array of String arguments.
* @exception java.lang.InterruptedException
* Thrown from the Thread class.
public static void main(String[] args)
throws java.lang.InterruptedException {
WriteFileToTable runExample = new WriteFileToTable();
runExample.createTable();
runExample.performLoadWrite();
runExample.queryRecords();
runExample.closeConnection();
}Hi
Thanks a lot. I ran the program with the MySql driver as follows:
The errors are as follows: I will ttry to place the Driver in the Classpath. As far as I know the driver has been specified correctly this time.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at us.ilango.WriteAntennas.<init>(WriteAntennas.java:41)
at us.ilango.WriteAntennas.main(WriteAntennas.java:377)
java.lang.NullPointerException
at us.ilango.WriteAntennas.createTable(WriteAntennas.java:70)
at us.ilango.WriteAntennas.main(WriteAntennas.java:378)
Exception in thread "main" Loading JDBC Driver -> com.mysql.jdbc.Driver
The program is as follows:
package us.ilango;
* @author ilango
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.StringTokenizer;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class WriteAntennas {
final static String driverClass = "com.mysql.jdbc.Driver";
final static String connectionURL = "jdbc:mysql://localhost/test2";
final static String userID = "brian";
final static String userPassword = " ";
final static String inputFileName = "CO.DAT";
final static String TABLE_NAME = "CELL";
final static String DELIM = "|";
Connection con = null;
public WriteAntennas() {
try {
System.out.print(" Loading JDBC Driver -> " + driverClass + "\n");
Class.forName(driverClass).newInstance();
System.out.print(" Connecting to -> " + connectionURL + "\n");
this.con = DriverManager.getConnection(connectionURL, userID, userPassword);
System.out.print(" Connected as -> " + userID + "\n");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
* Method used to create the initial EMP table. Before attempting to create
* the table, this method will first try to drop the table.
public void createTable() {
Statement stmt=null;
try {
stmt = con.createStatement();
System.out.print(" Dropping Table: " + TABLE_NAME + "\n");
stmt.executeUpdate("DROP TABLE " + TABLE_NAME);
System.out.print(" - Dropped Table...\n");
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
System.out.print(" - Table " + TABLE_NAME + " did not exist.\n");
try {
stmt = con.createStatement();
System.out.print(" Creating Table: " + TABLE_NAME + "\n");
stmt.executeUpdate("create table TOWER_PUBACC_CO (" +
"record_type char(2) null" +
", content_indicator char(3) null" +
", file_number char(8) null" +
", registration_number char(7) null" +
", unique_system_identifier long(9,0) not null" +
", coordinate_type char(1) not null" +
",latitude_degrees int null" +
",latitude_minutes int null" +
",latitude_seconds int(4,1) null" +
",latitude_direction char(1) null" +
",latitude_total_seconds int(8,1) null" +
",longitude_degrees int null" +
",longitude_minutes int null" +
",longitude_seconds int(4,1) null" +
",longitude_direction char(1) null" +
",longitude_total_seconds int(8,1) null)" );
System.out.print(" created Table...\n");
System.out.print(" closing Statement...\n");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
public void performLoadWrite() {
Statement stmt = null;
int insertResults = 0;
StringTokenizer st = null;
String record_type ;
String content_indicator;
String file_number ;
String registration_number;
String unique_system_identifier ;
String coordinate_type;
String latitude_degrees;
String latitude_minutes;
String latitude_seconds;
String latitude_direction;
String latitude_total_seconds;
String longitude_degrees;
String longitude_minutes;
String longitude_seconds;
String longitude_direction;
String longitude_total_seconds;
try {
System.out.print(" Creating Statement...\n");
stmt = con.createStatement ();
System.out.print(" Create FileReader Object for file: " + inputFileName + "...\n");
FileReader inputFileReader = new FileReader(inputFileName);
System.out.print(" Create BufferedReader Object for FileReader Object...\n");
BufferedReader inputStream = new BufferedReader(inputFileReader);
String inLine = null;
while ((inLine = inputStream.readLine()) != null) {
st = new StringTokenizer(inLine, DELIM);
record_type = st.nextToken();
content_indicator = st.nextToken();
file_number = st.nextToken();
registration_number = st.nextToken();
unique_system_identifier = st.nextToken();
coordinate_type =st.nextToken();
latitude_degrees = st.nextToken();
latitude_minutes = st.nextToken();
latitude_seconds=st.nextToken();
latitude_direction = st.nextToken();
latitude_total_seconds =st.nextToken();
longitude_degrees= st.nextToken();
longitude_minutes = st.nextToken();
longitude_seconds = st.nextToken();
longitude_direction=st.nextToken();
longitude_total_seconds =st.nextToken();
System.out.print(" Inserting value for [" + unique_system_identifier + "]\n");
insertResults = stmt.executeUpdate(
"INSERT INTO " + TABLE_NAME + " VALUES (" +
record_type +
" , " + content_indicator +
" , '" + file_number + "'" +
" , '" + registration_number + "'" +
" , '" + unique_system_identifier + "'" +
" , " + coordinate_type + "'" +
" , '" + latitude_degrees + "'" +
" , " + latitude_minutes + "'" +
" , '" + latitude_seconds + "'" +
" , '" + latitude_direction + "'" +
" , '" + latitude_total_seconds + "'" +
" , '" + longitude_minutes + "'" +
" , '" + longitude_seconds + "'" +
" , '" + longitude_direction + "'" +
" , '" + longitude_total_seconds + "')");
System.out.print(" " + insertResults + " row created.\n");
System.out.print(" Commiting Transaction...\n");
con.commit();
System.out.print(" Closing inputString...\n");
inputStream.close();
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
public void queryRecords() {
Statement stmt = null;
ResultSet rset = null;
int deleteResults = 0;
int rowNumber = 0;
String record_type;
String content_indicator;
String file_number;
String registration_number ;
long unique_system_identifier;
String coordinate_type ;
int latitude_degrees ;
int latitude_minutes ;
int latitude_seconds;
String latitude_direction;
int latitude_total_seconds;
int longitude_degrees;
int longitude_minutes;
int longitude_seconds;
String longitude_direction;
int longitude_total_seconds;
try {
System.out.print(" Creating Statement...\n");
stmt = con.createStatement ();
System.out.print(" Opening query for table: " + TABLE_NAME + "...\n");
rset = stmt.executeQuery ("SELECT * FROM cell ORDER BY unique_system_identifier");
while (rset.next ()) {
rowNumber = rset.getRow();
unique_system_identifier = rset.getInt (1);
if ( rset.wasNull() ) {unique_system_identifier = -1;}
record_type = rset.getString (2);
if ( rset.wasNull() ) {record_type = "<null>";}
content_indicator = rset.getString(3);
if ( rset.wasNull() ) {content_indicator = "<null>";}
file_number = rset.getString(4);
if ( rset.wasNull() ) {file_number = "<null>";}
registration_number = rset.getString(5);
if ( rset.wasNull() ) {registration_number = "<null>";}
coordinate_type = rset.getString(6);
if ( rset.wasNull() ) {coordinate_type = "<null>";}
latitude_degrees = rset.getInt(7);
if ( rset.wasNull() ) {latitude_degrees = 1;}
latitude_minutes = rset.getInt(8);
if ( rset.wasNull() ) {latitude_minutes = 1;}
latitude_seconds = rset.getInt(9);
if ( rset.wasNull() ) {latitude_seconds = 1;}
latitude_direction = rset.getString(10);
if ( rset.wasNull() ) {latitude_direction = "<null>";}
latitude_total_seconds = rset.getInt(11);
if ( rset.wasNull() ) {latitude_total_seconds = 1;}
longitude_degrees = rset.getInt(12);
if ( rset.wasNull() ) {longitude_degrees = 1;}
longitude_minutes = rset.getInt(13);
if ( rset.wasNull() ) {longitude_minutes = 1;}
longitude_seconds = rset.getInt(14);
if ( rset.wasNull() ) {longitude_seconds = 1;}
longitude_direction = rset.getString(15);
if ( rset.wasNull() ) {longitude_direction = "<null>";}
longitude_total_seconds = rset.getInt(16);
if ( rset.wasNull() ) {longitude_total_seconds = 1;}
System.out.print(
"\n" +
" RESULTS -> [R" + rowNumber + "] " + "\n" +
" Unique_System_Identifier : " + unique_system_identifier + "\n" +
" Record_type : " + record_type + "\n" +
" Content_Indicator : " + content_indicator + "\n" +
" Registration_Number : " + registration_number + "\n" +
" File_Number : " + file_number + "\n" +
" Coordinate_Type : " + coordinate_type + "\n" +
" Latitude_Degrees : " + latitude_degrees + "\n" +
" Latitude_Minutes : " + latitude_minutes + "\n" +
" Latitude_Seconds : " + latitude_seconds + "\n" +
" Latitude_Direction : " + latitude_direction + "\n" +
" Latitude_Total_Seconds : " + latitude_total_seconds + "\n" +
" Longitude_Degrees : " + longitude_degrees + "\n" +
" longitude_minutes : " + longitude_minutes + "\n" +
" Longitude_Seconds : " + longitude_seconds + "\n" +
" longitude_direction : " + longitude_direction + "\n" +
" Longitude_Total_Seconds : " + longitude_total_seconds +
"\n");
System.out.print(" Closing ResultSet...\n");
rset.close();
System.out.print(" Closing Statement...\n");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
public void closeConnection() {
try {
System.out.print(" Closing Connection...\n");
con.close();
} catch (SQLException e) {
e.printStackTrace();
public static void main(String[] args)
throws java.lang.InterruptedException {
WriteAntennas runJob = new WriteAntennas();
runJob.createTable();
runJob.performLoadWrite();
runJob.queryRecords();
runJob.closeConnection();
} -
How to get comparable Oracle JDBC performance using Java 1.4 vs 1.1.7?
Our application makes extensive use of JDBC to access an Oracle database. We wrote it a number of years ago using java 1.1.7 and we have been unable to move to new versions of java because of the performance degradation.
I traced the problem to JDBC calls. I can reproduce the problem using a simple program that simply connects to the database, executes a simple query and then reads the data. The same program running under java 1.4 is about 60% slower than under java 1.1.7. The query is about 80% slower and getting the data is about 150% slower!
The program is attached below. Note, I run the steps twice as the first time the times are much larger which I attribute to java doing some initializations. So the second set of values I think are more representative of the actual performance in our application where there are numerous accesses to the database. Specifically, I focus on step 4 which is the execute query command and step 5 which is the data retrieval step. The table being read has 4 columns with 170 tuples in it.
Here are the timings I get when I run this on a Sparc Ultra 5 running
SunOs 5.8 using an Oracle database running 8.1.7:
java 1.1.7 java 1.4
overall: 2.1s 3.5s
step 1: 30 200
step 2: 886 2009
step 3: 2 2
step 4: 9 17
step 5: 122 187
step 6: 1 1
step 1: 0 0
step 2: 203 161
step 3: 0 1
step 4: 8 15 <- 87% slower
step 5: 48 117 <- 143% slower
step 6: 1 2I find the same poor performance from java versions 1.2 and 1.3.
I tried using DataDirect's type 4 JDBC driver which gives a little better performance but overall it is still much slower than using java 1.1.7.
Why do the newer versions of java have such poor performance when using JDBC?
What can be done so that we can have performance similar to java 1.1.7
using java 1.4?
========================================================================
import java.util.*;
import java.io.*;
import java.sql.*;
public class test12 {
public static void main(String args[]) {
try {
long time1 = System.currentTimeMillis();
/* step 1 */ DriverManager.registerDriver(
new oracle.jdbc.driver.OracleDriver());
long time2 = System.currentTimeMillis();
/* step 2 */ Connection conn = DriverManager.getConnection (
"jdbc:oracle:thin:@dbserver1:1521:db1","user1","passwd1");
long time3 = System.currentTimeMillis();
/* step 3 */ Statement stmt = conn.createStatement();
long time4 = System.currentTimeMillis();
/* step 4 */ ResultSet rs = stmt.executeQuery("select * from table1");
long time5 = System.currentTimeMillis();
/* step 5 */ while( rs.next() ) {
int message_num = rs.getInt(1);
String message = rs.getString(2);
long time6 = System.currentTimeMillis();
/* step 6 */ rs.close(); stmt.close();
long time7 = System.currentTimeMillis();
System.out.println("step 1: " + (time2 - time1) );
System.out.println("step 2: " + (time3 - time2) );
System.out.println("step 3: " + (time4 - time3) );
System.out.println("step 4: " + (time5 - time4) );
System.out.println("step 5: " + (time6 - time5) );
System.out.println("step 6: " + (time7 - time6) );
System.out.flush();
} catch ( Exception e ) {
System.out.println( "got exception: " + e.getMessage() );
... repeat the same 6 steps again...
}If I run my sample program with the -server option, it
takes a lot longer (6.8s vs 3.5s).Which has to be expected, as the -server option optimizes for long running programs - so it shoudl go with my second suggestion, more below...
I am not certain what you mean by "just let the jvm
running". Our users issue a command (in Unix) which
invokes one of our java programs to access or update
data in a database. I think what you are suggesting
would require that I rewrite our application to have a
java program always running on the users workstation
and to also rewrite our
commands (over a hundred) to some how pass data and
receive data with this new server java program. That
does not seem a very reasonable just to move to a new
version of java. Or are you suggesting something
else?No I was just suggestion what you descript. But if this is not an option, then maybe you should merge your java-programs to C or another native language. Or you could try the IBM-JDK with the -faststart (or similar) option. If thew Unix you mention is AIX, then there would be the option of a resetable-vm. But I cannot say if this VM would solve your problem. Java is definitly not good for applications which only issue some unqiue commands because the hotspot-compiler can not be efficiently used there. You can only try to get 1.1.7 performance by experimenting with vm-parameters (execute java -X). -
JDBC Problem with Oracle 8.1.7. and OC4J Version 2
I use the following connection statement with Oracle 8.1.7. and JDeveloper 3 and Apache Server. It works fine.
String user = "scott/tiger";
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:"+user+"@RDL");
The same program does not obtain the connection with JDeveloper 9i, OC4J Version 2 and Oracle 8.1.7. I do not receive any error message, no exception is thrown.
Please help me.Hi Avi,
I had already tried the thin Diriver but after yout help I try again.
With this thin driver, I received a SQLException which helps me.
As usual, there were a lot of different problems. The main one was that my default configuration do not use the jdbc/lib817 main jdbc/lib. There is a classe12.jar in these libs that are apparently different.
Finally, I obtain the connection with the "thin" driver.
Thank you very much Avi!
Reni -
Hi,
I am trying to connect to a SQL server database by giving table name in (SPVC) database as spvc.dbo.tablename.. If i want to access another database (SPVC_D), how can i do it without changing my java code?? Can i be able to add the database name to the connection string and i can remove the hard coding (spvc.dbo.) from my java code?? How shall i be able to do that..
Please let me know.. I am very new with JDBC with SQL server..
Thanks
Praveen PadalaIn the MS SQL Server that I use, the following syntax
spvc.dbo.tablename
Breaks done as follows...
<database>.<user>.<tablename>
However connections are always to a database. Thus when one uses the above syntax it basically runs 'in' the one database and accesses another.
Depending on various attributes of the tables, if and only if, a table called 'tablename' exists in a database called 'spvc_d' then if you connect to 'spvc_d' then you can access 'tablename' just by using 'tablename'.
So if that is what you are doing you will not have a problem. -
A sign Applet unable to load "oracle.jdbc.OracleDriver" class
hi,
i am chiranjit , i am now working in a web based ERP. where i am using a signed applet which unable to load "oracle.jdbc.OracleDriver" class but it easily loading "sun.jdbc.odbc.JdbcOdbcDriver", i am also giving my code:
import java.sql.*;
import java.math.*;
import java.io.*;
import java.awt.*;
class JdbcTest extends Applet{
public static void main (String args[]) throws SQLException {
// Load Oracle driver
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
// Connect to the local database
Connection conn =
DriverManager.getConnection
("jdbc:oracle:thin:@192.168.16.7:1521:kris",
"plsql", "oracle");
// Query the employee names
Statement stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("SELECT FIRST_NAME FROM
AUTHORS");
// Print the name out
while (rset.next ())
System.out.println (rset.getString (1));
// Close the result set, statement, and the connection
rset.close();
stmt.close();
conn.close();
}Hint: The sun.jdbc.odbc.JdbcOdbcDriver is available in any JRE distribution. The Oracle driver is not.
-
Help connection to oracle db using jdbc
Hi
I am trying to connect to a oracle database. I am using Oracle 9 and jsdk 1.4.2. but i keep getting the following error and i dont know what iam doing wrong.
I have put in my classpath where the orcle drivers are. I have also tried puting the drivers in j2sdk/jre/lib folder (files copied nls_charset12.zip,classes12.zip,ojdbc14.jar). My code compiles and runs but the error i get is
"java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver"
SAMPLE of my code:
Class.forName("oracle.jdbc.driver.OracleDriver");
String dataSource = "jdbc:oracle:thin:@devflgdb";
Connection con = DriverManager.getConnection(dataSource,"babu_s2","babu_s2");I am working on the same; here is my servlet code, hope it helps
private static void loadJDBCDriver ()
System.out.println ("Loading Database driver...");
try {
DriverManager.registerDriver ( new oracle.jdbc.driver.OracleDriver());
catch (Exception e) {}
try {
DriverManager.registerDriver ( new sun.jdbc.odbc.JdbcOdbcDriver() );
catch (Exception e2) {
System.err.println ("loadJDBCDriver: " + e2.toString());
return;
System.out.println ("Database driver loaded...");
private static Connection getConnected () {
System.out.println ("Establishing database connection...");
String jdbc_url;
Connection conn;
try {
jdbc_url = "jdbc:oracle:thin:@localhost:1521:oracle";
conn = DriverManager.getConnection (jdbc_url, "scott", "tiger");
catch (Exception e) {
try {
jdbc_url = "jdbc:odbc:BookNook";
conn = DriverManager.getConnection (jdbc_url);
catch (SQLException e2) {
System.err.println ("getConnected: " + e2.toString() );
return null;
System.out.println ("Database connection established ...");
return conn; -
Error While Compiling Jdbc Application
Hi,
I am getting an error while compiling a JDBC application ... as shon below...
please help me regardinmg this and also please specify how to include jar file ....
JdbcApp.java:5: package Oracle.jdbc.driver does not exist
DriverManager.registerDriver(new Oracle.jdbc.driver.OracleDriver());Thanx for that!!!
but i am still getting the exception...
D:\Java>java JdbcApp
Exception in thread "main" java.sql.SQLException: Io exception: The Network Adap
ter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:366
8)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:551)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at JdbcApp.main(JdbcApp.java:7)
kindly solve this... -
Error ORA-01403: no data found is not raised using jdbc
Hy there I have a problem receiving exceptions from oracle jdbc driver.
I have the following exception stack if i call insert on a view
using an instead of trigger.
ORA-01403: no data found
ORA-04088: error during execution of trigger
'MYUSER.MY_VIEW_INSERT'
if I do the insert by sql worksheet.
If I do same insert using the following driver
dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
I will receive this exception:
java.sql.SQLException: [INTERSOLV][SequeLink JDBC Driver][ORACLE]ORA-01403: Keine Daten gefunden
Now if I do same thing using oracle driver:
dbDriver = new oracle.jdbc.driver.OracleDriver();
there will no exception be raised!
here is my code:
public class myFrame extends Frame
public static void main( String[] args )
Frame myFrame = new Frame();
DbPflege dbPanel = new DbPflege();
Driver dbDriver = null;
String connectString = null;
try
if( args.length != 0 )
System.out.println( "main: use sequelink!" );
connectString = "jdbc:sequelink://myServer:4003/[Oracle]";
dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
else
System.out.println( "main: use oracle!" );
connectString = "jdbc:oracle:thin:@myServer:1521:idb";
dbDriver = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver( dbDriver );
dbPanel.con = DriverManager.getConnection(connectString, "user", "pwd" );
catch( Exception ex )
System.out.println( "main: ERROR: " + ex );
ex.printStackTrace();
void jBtnExecute_actionPerformed(java.awt.event.ActionEvent event)
Statement stmt = null;
int updateCount = -1;
int colCount = -1;
ResultSet rs = null;
ResultSetMetaData rsMeta = null;
try
stmt = con.createStatement();
stmt.execute( textAreaInput.getText() );
catch( Exception ex )
textAreaOutput.append( ex.toString() );
thanks for your help!!!!Hi,
You should run you query in sql workshop with the expected values (which are set after user clicks Save or Apply changes button) for P10_CR_BOM_CODE and P10_CR_ID.
Also, please have an exception block in the process to catch any exception and make an appropriate Insert into some user defined error-log table. It would be better to log the P10_CR_BOM_CODE and P10_CR_ID values in case of exception.
These might help you to figure out the cause of exception.
Regards,
Mangal -
Problem: connect DB with Applet by JDBC-ODBC bridge
Dear all,
When I connect local MS SQL server by "sun.jdbc.odbc.JdbcOdbcDriver" as below, it works well! However, when I put the similar code under Java Applet program, it cannot run by showing error:
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:272)
at java.security.AccessController.checkPermission(AccessController.java:399)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1501)
at sun.applet.AppletSecurity.checkPackageAccess(AppletSecurity.java:169)
I think Java Applet has some security policy when I try to use applet to connect(read/write) DB. How can I solve it so that I can browse my applet under IE.
Thanks a lot!
Here is my worked code in Java program but not in Applet:
import java.sql.*;
public class TestJDBC1 {
public static void main(String args[]) throws Exception {
String userid = "";
String password = "";
// Register the driver with DriverManager
new sun.jdbc.odbc.JdbcOdbcDriver();
// Get a connection
Connection conn = DriverManager.getConnection("jdbc:odbc:rdr",
userid, password);
// Create a statement for executing SQL
Statement stmt = conn.createStatement();
// Execute a query / SELECT statement
ResultSet rset = stmt.executeQuery("SELECT * FROM PlatformNode");
ResultSetMetaData rsmd = rset.getMetaData();
// Find out how many columns were returned by the query
int count = rsmd.getColumnCount();
// Loop until all rows have been processed
while (rset.next()) {
// Loop until all columns in current row have been processed
for (int i = 1; i <= count; i++) {
// Print out the current value
System.out.print(rset.getObject(i));
// Put a comma between each value
if (i < count) {
System.out.println(",");
// Start the next row's values on a new line
System.out.println("");
// Close the database objects
rset.close();
stmt.close();
conn.close();Hi,
Applets by default are restricted from accessing a lot of things.to enable applest from accessing database and other thngs u need to edit the policy file
Try this.
go to the jre/bin directory open the policytool.exe file
and add permission(in ur case RuntimePermission to access class in package sun.jdbc.odbc) and save the file.
this will enable applets from accessing the databse.
Hope that helps
Note:
policytool.exe must be used to open the java.policy file present in /jre/lib/security directory and then add the permissions
regards,
Partha -
Having problems with new WebLogic MS SQL driver WLS 8.1
Hi,
We've recently migrated our application from WLS 6.1 to WLS 8.1. We use an MS SQL database. In 6.1 we used the (now deprecated) weblogic.jdbc.mssqlserver4.Driver driver. In 8.1 we now use the new weblogic.jdbc.sqlserver.SQLServerDriver driver. We now are seeing NullPointerExceptions with the new driver that we never saw when running in 6.1 (with the old driver). The exception is occuring at the driver level. I'll paste some of the stack traces below but here is a quick synopsis of our usage pattern:
-standard get-use-close pattern on the connection for each request (connection is closed in finally block).
-pool size: min 1, max 7, increment 5
-test on reserver enabled
-we are simply reading data (no updates)
-we use a single thread that hits the database so there is only ever one active application thread hitting the DB.
-we are using a stored proc.
-we setTimeout on the statement (initial testing seems to indicate that query timeout seems to be at the root of the problem)
The problem seems to occur when statement timeouts occur. I can recreate the problem by setting the statement timeout to 1 sec and throwing a lot data at the DB. What seems to occur is a query hits the timeout and a SocketException is thrown, subsequent queries then throw a NullPointer in the driver layer. Again, this is the behavior under WLS 8.1 with the new weblogic.jdbc.sqlserver.SQLServerDriver driver. If I use the old driver (weblogic.jdbc.mssqlserver4.Driver) under WLS 8.1 all I get is the SocketException (which is what I want). This application ran under WLS 6.1 with the old driver processing millions of queries without any problems.
We are wondering:
(1) Is this a known problem?
(2) Is there a recommended workaround?
Cheers, and as always thanks in advance for any help.
Stack traces follow.
Thank,
Mich
Here are some failure traces from the WLS 8.1 new driver:
java.sql.SQLException: [BEA][SQLServer JDBC Driver]Execution timeout expired.
at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
at weblogic.jdbc.base.BaseStatement.postProcessExceptionFromCommonExecute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at weblogic.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)
at com.our.QueryHandler.execute(QueryHandler.java:79)
THEN WHEN A SUBSEQUENT QUERY IS MADE:
java.lang.NullPointerException
at weblogic.jdbc.sqlserver.tds.TDSRequest.switchColumnDescriptions(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRequest.processRow(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCNonCursorExecuteRequest.submitPrepare(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCExecuteRequest.doPrepExec(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCExecuteRequest.execute(Unknown Source)
at weblogic.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at weblogic.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)
at com.our.QueryHandler.execute(QueryHandler.java:79)
Just to be complete here is the stacktrace generated by a timeout using the old driver on WLS 8.1 (again, this one behaves as expected):
weblogic.jdbc.mssqlserver4.TdsException: I/O exception while talking to the server, java.net.SocketTimeoutException: Read timed out
at weblogic.jdbc.mssqlserver4.TdsStatement.getMoreResults(TdsStatement.java:813)
at weblogic.jdbc.mssqlserver4.TdsStatement.execute(TdsStatement.java:210)
at weblogic.jdbc.mssqlserver4.TdsStatement.executeQuery(TdsStatement.java:54)
at weblogic.jdbc.mssqlserver4.TdsStatement.executeQuery(TdsStatement.java:1424)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)Michel Crichton wrote:
Hi,
Thanks for the prompt reply. In answer to your questions:
What I would like to know is the exact code/sequence that causes the subsequent exception. See the sequence of calls at the end of this reply.
Is this in the same thread in the very next call?
I replicated the problem by going through the Web container (5 clients) therefore WebLogic threads are used in this case. I see from the logs 4-5 different execute threads at work (ex. ExecuteThread: '10' for queue: 'weblogic.kernel.Default').
Does it happen all the time?
Although it is tough to tell for sure, once it starts happening it seems to happen most if not all the time.
Is it an attempted re-use of the same statement, or trying to use a different statement?
We do a connection.prepareStatement(QUERY_STRING) call everytime (there is only one per request/response cycle). I believe WLS caches statements behind the scenes though so I suspect at that level there is reuse. There is only one stored proc used (we vary the params per call).
Please show me your pool definition from the config.xml
file, and I will send you instructions to produce some
debug info that will get us to the heart of this matter.
<JDBCConnectionPool
DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
MaxCapacity="5" Name="THE POOL"
PasswordEncrypted="XXX"
Properties="user=XXX;portNumber=XXX;databaseName=XX;serverName=X.X.X.X"
Targets="Server"
TestConnectionsOnReserve="true" TestTableName="TEST_TABLE" URL="jdbc:bea:sqlserver://X.X.X.X:XXX"/>Ok, do these things:
1 - Add our spy attribute to your pool definition, like this:
<JDBCConnectionPool
DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
MaxCapacity="5" Name="THE POOL"
PasswordEncrypted="XXX"
Properties="user=XXX;portNumber=XXX;databaseName=XX;serverName=X.X.X.X"
Targets="Server"
TestConnectionsOnReserve="true"
TestTableName="TEST_TABLE"
URL="jdbc:bea:sqlserver://X.X.X.X:XXX;spyAttributes=(log=(file)spy.log;timestamp=yes)"/>
2 - Edit the start-weblogic script to add the spy jar (wlspy.jar) to the
classpath that the script creates for the server, eg:
set CLASSPATH=%WL_HOME%\server\lib\wlspy.jar;%CLASSPATH%
3 - Reboot and duplicate the problem as briefly as possible.
4 - In the same directory where you start the server, you will
now find a file named 'spy.log'. Please send it to me. ( j o e AT b e a DOT c o m )
I will try to reproduce the problem.
5 - Ask BEA support for the latest BEA driver package and install it according to
their instructions. Let me know asap if the probem is still there.
thanks
Joe
>
Also, I forgot to post in the original message some of the WLS stdout related logging we see. Here it is (sorry, it's a little messy):
11:38:37 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '11' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:37 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:37 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:38 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <> <BEA-001112> <Test "select count(*) from TEST_TABLE" set up for pool " THE POOL" failed with exception: "java.sql.SQLException: [BEA][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections
have not been exceeded for this server.".>
11:38:38 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <> <BEA-001128> <Connection for pool " THE POOL" closed.>
11:38:38 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <> <BEA-001067> <Connection for pool " THE POOL" refreshed.>
11:38:40 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001112> <Test "select count(*) from TEST_TABLE" set up for pool " THE POOL" failed with exception: "java.sql.SQLException: [BEA][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections
have not been exceeded for this server.".>
11:38:40 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001128> <Connection for pool " THE POOL" closed.>
11:38:40 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001067> <Connection for pool " THE POOL" refreshed.>
11:38:41 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:41 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
Here is the sequence of calls we make (notice the statement is closed outside the finally however we assume the connection.close should close associated resources):
PreparedStatement statement = null;
try {
connection = dataSource.getConnection();
statement = connection.prepareStatement(QUERY_STRING);
statement.setString(1, name1);
statement.setString(2, name2);
statement.setQueryTimeout(timeout);
ResultSet resultSet = statement.executeQuery();
//iterate over result set
statement.close();
return result;
} catch (SQLException e1) {
//log
} finally {
try {
if(connection != null)
connection.close();
} catch (SQLException e2) {
//log
Thanks again,
Mich
Maybe you are looking for
-
GL not appearing in Profit Center Report
Hello Gurus, A strange error is coming in SAP. I have created a GL with reference to another GL in Same chart of account and have posted few entries in that GL. But the problem is that all GL are coming except that GL in PC Trial Balance Report S_ALR
-
How to validate the date in my class
Hi In my project with jsp and struts I need to validate the date field. So in the action class I want to validate the date that is the date is in dd/mm/year format? can anybody please give some idea to do this? Thank you so much.
-
Hi, We have requiremeny where we have to display detals of cost datawarehouse. We want to check whether dashboard will be the best tool to be used for our requirements. Requirements: 1) Showing data (table) on basis of Country, state, city hierarchy
-
Made slideshow in iphoto w/music from itunes. Works fine in QT Pro. When I drop movie into Toast, I get message "Not authorized" Please Help. imac intel Mac OS X (10.4.9) Desktop
-
PSE 8 on MAC 10.6.2 Resizing photos for web use
Please can anyone assist me. I cannot alter the sampling options when resizing my photos to create smaller files for uploading to web pages. so at present Constrain proportions is ticked and I am unable to change it. W,H and R are locked Am unable to