Problem pool weblogic 6.1 and oracle thin driver 8.1.7
Hi! I have a problem with CLOB column in Oracle 8.1.7. My enviroment
is:
Windows 2000, BEA WLS 6.1 and Oracle 8.1.7. I'm trying to use
'classes12.zip' provided by Oracle. I added 'classes12.zip' to
CLASSPATH after than 'weblogic.jar' in my startup server script, but
it fails when trying to retrieve a CLOB data from database. Script
includes:
set CLASSPATH=.\classes12_01.zip;.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
But this driver and the code runs sucessfully with the same database
and weblogic 5.1. I'm interesting in use this driver and this code
because i'm trying to migrate two applications from WLS 5.1 to WLS 6.1
I cannot find a solution.
Can everybody help me, please? It's urgent for me...
Hi Arturo,
What kind of a problem do you have? Any stacktraces?
Regards,
Slava Imeshev
"Arturo Fernandez" <[email protected]> wrote in message
news:[email protected]..
Hi! I have a problem with CLOB column in Oracle 8.1.7. My enviroment
is:
Windows 2000, BEA WLS 6.1 and Oracle 8.1.7. I'm trying to use
'classes12.zip' provided by Oracle. I added 'classes12.zip' to
CLASSPATH after than 'weblogic.jar' in my startup server script, but
it fails when trying to retrieve a CLOB data from database. Script
includes:
setCLASSPATH=.\classes12_01.zip;.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
>
But this driver and the code runs sucessfully with the same database
and weblogic 5.1. I'm interesting in use this driver and this code
because i'm trying to migrate two applications from WLS 5.1 to WLS 6.1
I cannot find a solution.
Can everybody help me, please? It's urgent for me...
Similar Messages
-
CachedRowSet problem in Weblogic 6.1 and Oracle thin driver 9.0.1
Has anyone used the CachedRowSet class successfully? (this classes are
new and from the JDBC extension pack)
I am experiencing "Not in a transaction" errors when executing
cachedrowset.populate(resultset), even though I'm inside a correct
ut.begin and ut.commit transaction.
Note I don't have these problems when I don't use the CachedRowSet
classes.
If I remove the setFetchSize(50) line, then I receive the ORA-01002:
fetch out of sequence error, which is discussed in another post on
this newsgroup.
I don't have any of these problems at all, if I use the Oracle Thin
Driver directly (i.e. not using Weblogic 6.1).
-H
Example of code:
stmt = getConnection().createStatement();
stmt.setFetchSize(50);
stmt.executeQuery("SELECT * FROM ASSET");
rs = stmt.getResultSet();
crs = new CachedRowSet();
crs.populate(rs);Hi Arturo,
What kind of a problem do you have? Any stacktraces?
Regards,
Slava Imeshev
"Arturo Fernandez" <[email protected]> wrote in message
news:[email protected]..
Hi! I have a problem with CLOB column in Oracle 8.1.7. My enviroment
is:
Windows 2000, BEA WLS 6.1 and Oracle 8.1.7. I'm trying to use
'classes12.zip' provided by Oracle. I added 'classes12.zip' to
CLASSPATH after than 'weblogic.jar' in my startup server script, but
it fails when trying to retrieve a CLOB data from database. Script
includes:
setCLASSPATH=.\classes12_01.zip;.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
>
But this driver and the code runs sucessfully with the same database
and weblogic 5.1. I'm interesting in use this driver and this code
because i'm trying to migrate two applications from WLS 5.1 to WLS 6.1
I cannot find a solution.
Can everybody help me, please? It's urgent for me... -
Can't create connection pool using weblogic 6.1 with Oracle thin driver
Hi !
I have tried to create a connection pool from adminconsole. My CLASSPATH setting
is as follows :
F:\SOAP\soap-2_2\lib;F:\SOAP\soap-2_2;
D:\Oracle\Ora81\jdbc\lib\classes12.zip;
D:\Oracle\Ora81\jdbc\lib\nls_charset12.zip;
D:\Oracle\Ora81\jdbc\lib\classes111.zip;
F:\SOAP\soap-2_2\lib\jaf-1.0.1\activation.jar;
D:\Oracle\Ora8\Apache\Jsdk\src\javax\servlet\http;
D:\Oracle\Ora81\Apache\Jsdk\src\javax\servlet;
D:\Oracle\Ora81\lib;
F:\ant\jakarta-ant1.\bin;
E:\weblogic\oci\classes;
E:\weblogic\oci\classes\weblogic\xml\license;
E:\weblogic\oci\license;
E:\bea\wlserver6.1\lib;
E:\PetStoreHome\petstore1.3;
Following is the configuration.
#Oracle thin driver Method #2
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@test:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=1,\
props=user=xxx;password=xxx;server=test
#Add a TXDataSource for the connection pool:
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.thin=thin
# Add an ACL for the connection pool:
weblogic.allow.reserve.weblogic.jdbc.connectionPool.thin=everyone
I did append the file weblogic.properties with the above config. Now when I start
the Weblogic server I get the following error :
Starting WebLogic Server ....
<Nov 29, 2001 2:24:16 PM EST> <Notice> <Management> <Loading configuration file
.\config\petstore\config.xml ...>
<Nov 29, 2001 2:24:22 PM EST> <Notice> <WebLogicServer> <Starting WebLogic Admin
Server "petstoreServer" for domain "petstore">
<Nov 29, 2001 2:24:26 PM EST> <Notice> <Management> <Starting discovery of Manag
ed Server... This feature is on by default, you may turn this off by passing -Dw
eblogic.management.discover=false>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(jdbcthin.SignOnDB) can't be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(jdbcthin.EstoreDB) can't be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(jdbcthin.InventoryDB) can't be
cr
eated with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(weblogic.jdbc.jts.thin) can't be
created with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <Management> <Application Poller not star
ted for production server.>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After the server has booted, your browser should
automatically launch and point to the WebLogic Server
Tour running on this server. If your browser fails to
launch, point your browser to the URL
"http://burtsun:7001"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <ListenThread listening
on port 7001>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <SSLListenThread listeni
ng on port 7002>
<Nov 29, 2001 2:24:42 PM EST> <Notice> <WebLogicServer> <Started WebLogic Admin
Server "petstoreServer" for domain "petstore" running in Production Mode>
Could anyone please help me ?
Thanks
..MadhuriMadhuri wrote:
>
Hi Joe !
I didn't get what you would like to point out. Actully, I am using same config.,
but not to disclose the info. I gave you @test and username/password xxx/xxx.Ok. Now, assuming your pool looks like what I showed, the issue is probably
that there are multiple Oracle driver zips around, and your standlaone program
is using a different, newer, better one than the server. Our weblogic jar files
include a classes12.zip Oracle thin driver, but there are multiple versions of
classes12.zip, and the latest from oracle is better than the one we sealed into
our packaging. Please use jave -verbose to identify exactly which Oracle sip file
you are using in the successful case, then make sure this zip file comes before
any weblogic stuff in your weblogic server's classpath, so we'll use the same
driver. This should work. Edit the script you sue to start weblogic to verify
the classpath does end up with the oracle driver ahead of all weblogic stuff.
Joe
>
Please let me know.
Thanks
.Madhuri
Joseph Weinstein <[email protected]> wrote:
Madhuri wrote:
Hi Joe !
Here is the sample java code. Please let me know how I can test thisin weblogic
6.1.
Thanks
.MadhuriWell fine! That was easy. Your pool definition didn't have the same URL
or
user or password as this code. Try this for your pool definition:
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@adl-gbsdevel:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=10,\
maxCapacity=10,\
capacityIncrement=1,\
testConnsOnReserve=true,\
testTable=dual,\
props=user=mkelkar;password=mkelkar
Let me know,,,
Joe
Joseph Weinstein <[email protected]> wrote:
The key is in the log:
Could not create pool connection.
The DBMS driver exception was:
java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
Now we need to simplify the problem. Please make a simple 15-line
standalone
Java program like you'd find with the Oracle driver's examples, with
no
weblogic code in the picture. Just make a JDBC connection using Oracle's
driver, and show me that code. Then I can translate that into a pool
definition.
Joe
Madhuri wrote:
Hi Joe !
Thanks for your prompt reply. I tried the way you suggested but
it
still it gives
me the same error. I am attching here the weblogic.log file.
Thanks again
..Madhuri
Joseph Weinstein <[email protected]> wrote:
We'd want to see the log during booting, where the pool
is being created to see why that failed. Try a pool
definition with no blank lines, no whitespace at the
end of lines, and no server property. The thin driver
doesn't like that:
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@test:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=1,\
props=user=xxx;password=xxx
Joe
Madhuri wrote:
Hi !
I have tried to create a connection pool from adminconsole. My
CLASSPATH
setting
is as follows :
F:\SOAP\soap-2_2\lib;F:\SOAP\soap-2_2;
D:\Oracle\Ora81\jdbc\lib\classes12.zip;
D:\Oracle\Ora81\jdbc\lib\nls_charset12.zip;
D:\Oracle\Ora81\jdbc\lib\classes111.zip;
F:\SOAP\soap-2_2\lib\jaf-1.0.1\activation.jar;
D:\Oracle\Ora8\Apache\Jsdk\src\javax\servlet\http;
D:\Oracle\Ora81\Apache\Jsdk\src\javax\servlet;
D:\Oracle\Ora81\lib;
F:\ant\jakarta-ant1.\bin;
E:\weblogic\oci\classes;
E:\weblogic\oci\classes\weblogic\xml\license;
E:\weblogic\oci\license;
E:\bea\wlserver6.1\lib;
E:\PetStoreHome\petstore1.3;
Following is the configuration.
#Oracle thin driver Method #2
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@test:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=1,\
props=user=xxx;password=xxx;server=test
#Add a TXDataSource for the connection pool:
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.thin=thin
# Add an ACL for the connection pool:
weblogic.allow.reserve.weblogic.jdbc.connectionPool.thin=everyone
I did append the file weblogic.properties with the above config.
Now
when I start
the Weblogic server I get the following error :
Starting WebLogic Server ....
<Nov 29, 2001 2:24:16 PM EST> <Notice> <Management> <Loading
configuration
file
\config\petstore\config.xml ...>
<Nov 29, 2001 2:24:22 PM EST> <Notice> <WebLogicServer> <Starting
WebLogic
Admin
Server "petstoreServer" for domain "petstore">
<Nov 29, 2001 2:24:26 PM EST> <Notice> <Management> <Starting
discovery
of Manag
ed Server... This feature is on by default, you may turn this
off
by
passing -Dw
eblogic.management.discover=false>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(jdbcthin.SignOnDB)
can't
be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(jdbcthin.EstoreDB)
can't
be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(jdbcthin.InventoryDB)can't be
cr
eated with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(weblogic.jdbc.jts.thin)can't be
created with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <Management> <Application
Poller
not star
ted for production server.>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After the server has booted, your browser should
automatically launch and point to the WebLogic Server
Tour running on this server. If your browser fails to
launch, point your browser to the URL
"http://burtsun:7001"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <ListenThreadlistening
on port 7001>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <SSLListenThreadlisteni
ng on port 7002>
<Nov 29, 2001 2:24:42 PM EST> <Notice> <WebLogicServer> <Started
WebLogic
Admin
Server "petstoreServer" for domain "petstore" running in ProductionMode>
Could anyone please help me ?
Thanks
..Madhuri
Name: weblogic.log
weblogic.log Type: Text Document (application/x-unknown-content-type-txtfile)
Encoding: base64
Name: PrintColumns.java
PrintColumns.java Type: Visual Cafe File (application/x-unknown-content-type-VisualCafeFile.Document)
Encoding: base64 -
Dbping errors with Oracle8.1.5 and Oracle thin driver
I am trying to connect to Oracle 8.1.5.0.0 with Oracle thin driver 8.1.5. However I keep getting error ORA-24327. Any suggestions on how to fix this error?
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jayanta Ghosh ([email protected]):
Hi,
Does XML parser for PL/SQL work with Oracle 8.1.5? Did any one install the
same and if so what are steps to follow? I ran initjvm.sql to install
JServer and then tried to load jar files using loadjava, but it's giving
error. It's working fine with Oracle8.1.6.
Any idea?
Thanks,
Jayanta<HR></BLOCKQUOTE>
Oracle XML Parser has differents distributions for 8.1.5 and 8.1.6 databases, try the correct version, then runs the oraclexmlsqlload.csh from the lib directory of XSU distribution.
Best regards, Marcelo.
null -
Visual Cafe and Oracle thin driver
I have created a java applet using visual cafe and oracle think
driver. The applet connects to database within the visual cafe
environment. If I try launching applet locally within a browser
I get the following error "Error:securit. Couldn't connect to
'host' within origin from 'local_classpath_classes" Any help is
greatly appreciated.
THanks
John Famolaro
nullJohn
I also had this problem. Its a general security problem.
Because your trying to connect to another machine, you
must sign your applet to get full security privelages from
within your browser. The sandbox within the JVM of the browser
doesn't let you open connections to other machines.
(Although my original understanding was that if the applet
was stored locally, then you had full privelages - but it
didn't work like this for me.)
Try signing your applet.
steve
John Famolaro (guest) wrote:
: I have created a java applet using visual cafe and oracle think
: driver. The applet connects to database within the visual cafe
: environment. If I try launching applet locally within a
browser
: I get the following error "Error:securit. Couldn't connect to
: 'host' within origin from 'local_classpath_classes" Any help
is
: greatly appreciated.
: THanks
: John Famolaro
null -
Hung queries, and Oracle thin driver query timeout implementation
We are seeing occasional instances of stuck threads, where the code is in Oracle thin XA driver code waiting for a socket read for a response from the database. Usually only one thread at a time. The connection never terminates and we have to shut down WebLogic to clear it. The DBAs tell us that all connections to the 11g RAC cluster members from our hosts are idle, with no hung or long-running transactions.
This happens every few days across two WebLogic 10.3.5 clustered instances in our QA environment, usually not the same time on two servers (one had four incidents, the other had only one, in the last 15 or so days). Sometimes it has resulted in a hung server, as the driver is holding a lock that blocks other threads (today we had numerous threads block in a TX rollback).
I'm guessing our WebLogic instance somehow is not getting the connection close from the remote host. BTW, there is no firewall between us and the DB. I have not got any strong suspect for the cause (although we are running Linux on a VMWare 4.0 VM, which always worries me).
Ordinarily I'd either ask the application to set a query timeout, or set the query timeout parameter for the connection pools as a workaround (we are using a MultiDatasource), so the transaction would at least abort and the application can handle it. However, while the Oracle driver does support java.sql.Statement.setQueryTimeout(), some brief investigation on my part leads me to believe the timeout is implemented on the server side and not the client side - so that if it is indeed the case that WebLogic does not see the close on the connection, it also would never see the timeout.
Two questions:
1. Is my suspicion about server-side implementation of timeout for Oracle 11g correct?
2. If so, is there some property I can set for the driver that will implement a socket timeout? Is this "safe"?
Thanks for any help!
[ Oracle WebLogic 10.3.5, HotSpot 64 bit JVM 1.6.0_29 on RHEL 5.6 on VMWare; Oracle Thin XA driver bundled with WebLogic; Oracle RAC 11g (three-node cluster)]
Edited by: SteveElkind on Dec 3, 2012 5:25 AMThanks, Joe.
My investigations were heading in this direction (e.g., http://docs.oracle.com/cd/B28359_01/java.111/b31224/apxtblsh.htm#CHDBBDDA). However, for WebLogic, is it as simple as adding the following property in the Datasource Connection properties edit box in the WebLogic console?
oracle.net.READ_TIMEOUT=300000
or do I have to edit the connection URL?
I've tried this, and the Datasource restarts OK after the change, but I have no way right now to check whether it actually "works".
(we have some long-running queries; five minutes seems to be a "safe" limita for now) -
Coldfusion 7 and Oracle Thin Driver
I have recently upgraded to CFM 7 from CF 5. I am getting this error when I run my stored procedure:
***Attribute validation error for tag procparam.
The tag does not have an attribute called MAXROWS. The valid attribute(s) are value, cfsqltype, scale, maxlength, null, list, separator, type, dbvarname, variable.***
<CFQUERY name="getdata" datasource="#dns1#">
SELECT SUM(A) GetA, SUM(M) GetM
FROM tablename
</CFQUERY>
<CFTRY>
<CFSTOREDPROC PROCEDURE="Proced1" DATASOURCE="#dns2#" RETURNCODE="No">
<CFPROCPARAM TYPE="Out" CFSQLTYPE="CF_SQL_REFCURSOR" VARIABLE="IgnoreThis" MAXROWS=-1>
<CFPROCRESULT NAME="rpoc">
</CFSTOREDPROC>
<CFCATCH TYPE="Database">
<table cellspacing="2" cellpadding="2" border="1">
<tr><td>Error Accessing Database</td></tr></table>
<CFABORT>
</CFCATCH>
</CFTRY>
<CFFLUSH INTERVAL="1,000">
<TABLE>
<CFOUTPUT QUERY="rpoc">
<TR><TD>#data#</TD></TR>
</CFOUTPUT>
<CFOUTPUT QUERY="getdata">
<TR><TD>#GetA#</TD><TD>#GetM#</TD></TR>
</CFOUTPUT>
</TABLE>
When I take out maxrows, I get this error:
*** Error Executing Database Query.
[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC driver for Oracle]Error in row 1***
Any ideas how to fix this?
BTW, it verifies ok in the coldfusion administrator.It is because I applied the patch to upgrade the JDBC version
to 3.5
I removed the patch and the problem was solved. -
ORA01002 with Oracle thin driver - not with JDriver
Hi,
I use weblogic 5.1 SP10. I was using the weblogic JDriver to create a connection
pool for my entity beans with BMP. I switched from the weblogic Jdrivers to using
the Oracle thin driver (classes12.zip) for my connection pool. Now i get a ORA-01002
(fetch out of sequence) for my ORACLE 8.1.6 SELECT FOR UPDATEs. I can solve this
by - explicitly setting autocommit to false for the connection. This is within
in the EJB transaction.
Why I have to do this with the Oracle thin driver and not with the Weblogic JDriver
Any thoughts on this are appreciated !From this I assume that you know what you are doing but I have to ask, are you
using the TxDataSource to obtain the connection in your BMP entity beans? If
so, I would talk to support...
Anand wrote:
Hi Robert,
I am using the TxDataSource in the workout.properties file.
eg:
weblogic.jdbc.TXDataSource.MyDBPool =MyDBPool
The connection pool is defined as below:
weblogic.jdbc.connectionPool.MyDBPool =\
driver=oracle.jdbc.driver.OracleDriver,\
url=jdbc:oracle:thin:@localhost:1521:MyDb,\
loginDelaySecs=1,\
initialCapacity=10,\
maxCapacity=20,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,testTable=dual,\
props=user=admin;password=password
Robert Patrick <[email protected]> wrote:
How are you obtaining the connection from the pool? Make sure you are
using a
TxDataSource...
Anand wrote:
Hi,
I use weblogic 5.1 SP10. I was using the weblogic JDriver to createa connection
pool for my entity beans with BMP. I switched from the weblogic Jdriversto using
the Oracle thin driver (classes12.zip) for my connection pool. Nowi get a ORA-01002
(fetch out of sequence) for my ORACLE 8.1.6 SELECT FOR UPDATEs. I cansolve this
by - explicitly setting autocommit to false for the connection. Thisis within
in the EJB transaction.
Why I have to do this with the Oracle thin driver and not with theWeblogic JDriver
Any thoughts on this are appreciated ! -
Problem in getting Time info with webLogic using Oracle Thin Driver
We have a servlet to store/retrieve date/time data from an Oracle 9i db using use the Oracle thin driver. Everyting is ok when run on JSDK2.1 servlet container or Tomcat. But when run under WebLogic 8.1, we have problem with time portion info, it is lost. After debuging, we found under WebLogic, the returned object type is a java.sql.Date which by definition has no time info, while in other servlet containers, it is a java.sql.Timestamp. Storing date/time data in a Date column is ok under WebLogic because we see the time portion data in the db table. We did not set anything about database/jdbc in WebLogic.
It would be greatly appreciated if someone can explain what effect WebLogic has on a servlet that has its own jdbc connection or how WebLogic could change data type from a jdbc sql statement.That's a function of the JDBC driver, not the J2EE app server.
Sounds like maybe you're using the WebLogic 8.1 driver when you deploy with WL instead of the Oracle driver. You certainly can deploy with the Oracle driver. Go into the WL config manager and set it up to use the ojdbc14.jar instead.
% -
ConnectionPool problems with WLS 7.0 and Oracle 9.2
Hi,
We are using WLS 7.0 SP4, and Oracle 9 and the Oracle thin driver type 4. In our
application on the productive system (and only there) we constantly encounter
a whole set of SQLExceptions which have all in common that the Connection from
the pool is not valid any more when the application tries to use it.
Typical, recurring error messages are:
- Exhausted ResultSet
- Connection has already been closed
- Closed Statement
- Transaction is no longer active - status committing
- NullPointerException at
weblogic.jdbc.pool.Connection.prepareStatement()
There are no special Statements which create these errors. They are spread at
random across practically every query the application creates, and the same queries
sometimes succeed and sometimes fail.
I double and triple checked that all Connections, Statements and ResultSets are
closed immediately after use. As an example, I attached a code snippet and a resulting
StackTrace which.
The problem also seems to occur only with an (unknown) minimum of concurrent usern,
since in the approval tests on an almost identical test system these errors never
occurred.
I also followed the advice from Oracle and installed the latest Oracle JDBC driver
(Oracle 10g) - to no avail.
What else can I do?
Another question: Is it correct that my Oracle JDBC driver is in the application
classpath (via a reference in the Manifest file of the application jar), not in
the system classpath? There has never been a problem with that, but in a Newsgroup
answer from Nov 10, 2003 (subject: "ResultSet closes prematurely"), Joe Weinstein
suggested to "get it listed at the
front of the -classpath argument that the startWebLogic script creates for the
java line that starts the server".
I hesitate to do so, since the driver is in a standard WebApp- directory, WEB-INF/lib.
Is it possible and safe to add a jar located there to the system classpath? If
it is possible, why is it necessary?
Best regards,
Andreas Zehrt
[CodeSnippetsAndStackTraceForConnectionPoolProblem.txt]Andreas Zehrt wrote:
Hi Joe,
Your hint that there is a threading problem was right:
On further investigation of the code I found out that the class that passes the
Connection to the DAO not only stores it as a member at some point (which is not
a good idea anyway) but is also a singleton - then, of course, it's no surprise
that the Connection gets invalid in a incalculable way when concurrent threads
share it.
The singleton instantiation was not so obvious because the way of instantiation
is controlled by a configuration parameter that can be overridden at different
levels.
I changed it and the productive logfiles indicate that the SQLExceptions related
to that class have disappeared.I am happy to have helped.
So, thanks a lot for the advice.
But I am still wondering why this code has worked for so long a time with WLS
5.1 and Oracle 8 (the system has been productive for over 2 years). Even in the
approval tests with WLS 7.0 and Oracle 9, we did not run into problems, although
it was multi-user environment.Mo idea.
I still believe that there is a difference between WLS 5.1 and 7.0 in the way
it treats pooled Oracle JDBC Connections. I wished both Oracle and Bea could be
a little more explicit about those changes and possible version incompatabilities
beyond the general advice "use the latest thin driver".Though I can think of no change to our pooling which would have had any material
effect in this case, I will certainly do what I can to see that our documentation
is explicit about changes.
Joe
Best regards, Andreas
Joe Weinstein <[email protected]> wrote:
Hi Andreas.
Andreas Zehrt wrote:
Hi,
We are using WLS 7.0 SP4, and Oracle 9 and the Oracle thin driver type4. In our
application on the productive system (and only there) we constantlyencounter
a whole set of SQLExceptions which have all in common that the Connectionfrom
the pool is not valid any more when the application tries to use it.
Typical, recurring error messages are:
- Exhausted ResultSetThat is typically if the statement that created it is either re-executed
or closed.
- Connection has already been closedAs described. If you give a stacktrace, we could make a debug patch which
would show
where it was originally closed.
- Closed Statementsame as above.
- Transaction is no longer active - status committingThat implies your code is obtaining a connection from a transactional
datasource,
and then later trying to use it after the transaction which it was associated
with,
is finished.
- NullPointerException at
weblogic.jdbc.pool.Connection.prepareStatement()Maybe any of the above.
There are no special Statements which create these errors. They arespread at
random across practically every query the application creates, andthe same queries
sometimes succeed and sometimes fail.
I double and triple checked that all Connections, Statements and ResultSetsare
closed immediately after use. As an example, I attached a code snippetand a resulting
StackTrace which.
The problem also seems to occur only with an (unknown) minimum of concurrentusern,
since in the approval tests on an almost identical test system theseerrors never
occurred.
I also followed the advice from Oracle and installed the latest OracleJDBC driver
(Oracle 10g) - to no avail.
What else can I do?
Another question: Is it correct that my Oracle JDBC driver is in theapplication
classpath (via a reference in the Manifest file of the applicationjar), not in
the system classpath? There has never been a problem with that, butin a Newsgroup
answer from Nov 10, 2003 (subject: "ResultSet closes prematurely"),Joe Weinstein
suggested to "get it listed at the
front of the -classpath argument that the startWebLogic script createsfor the
java line that starts the server".
I hesitate to do so, since the driver is in a standard WebApp- directory,WEB-INF/lib.
Is it possible and safe to add a jar located there to the system classpath?If
it is possible, why is it necessary?I was only concerned to ensure we know which driver we are working with.
We also ship
an oracle thin driver, which becomes obsolete soon...
I am concerned that your code creates pool connections to be used later.
The problems
can arise if more than one thread ever gets the same connection, or if
the connection
is used in the same thread, spanning transactions. It does also seem
that there may
be a threading issue, because if two threads each call the code to create
a connection,
and two connections are made, but one over-writes the other, the two
threads can
end up using the same connection, and closing it. The over-written one
never gets closed,
resulting in that leak message you got...
Joe
The Connection parameter is opened by a business component class, ComaServiceProviderClassicImpl.It is propagated through
several classes in the business layer, but not used, until the DAOtakes it to make the query.
So, the Connection is closed where it was opened, not in the DAO class.
public class ConcernDAOImpl extends BaseDAO {
public Collection getConcernsForIncidents(Connection conn, Collectionincidents)
throws DataAccessException, ConstraintException, ComaParseException{>
sqlMessage.append(")");
String sqlStmt = sqlMessage.toString();
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sqlStmt);
rs = pstmt.executeQuery();
while (rs != null && rs.next()) {
final Concern concern =
new Concern(DAOUtil.getComaOID(rs, ComaDBNames.KDANR));
concern.setIncidentOID(DAOUtil.getComaOID(rs, ComaDBNames.KDAVGENR));
return concerns;
} catch (SQLException sqle) {
// Wrapps real SQL exception
String[] message = new String[]{sqle.getMessage(), sqlStmt};
throw new DataAccessException(ExpCode.S_ORACLE_SQL, message,
sqle);
} finally {
closeAll(rs, pstmt);
_logger.exitDebug(method);
Here, the Connection is acquired and finally closed
public class ComaServiceProviderClassicImpl {
public void updateComplaint(
final Request updateRequest,
final ResponseSingleElement response,
final Principal principal)
throws SystemException {
try {
logger.info("updateComplaint", "store incident");
// store the incident in the database
incidentManager.storeIncident(getConnection(), updateIncident);
// reload the incident from Cache and / or the databaseto get the ContactReferences.
Incident returnIncident = incidentManager.loadIncident(//IncidentManager passes the Connection to the DAO
getConnection(), updateIncident.getOID());
} catch (RemoteException rex) {
// remote exceptions
rollbackIfNecessary();
CoreUtils.unwrapRemoteException(rex, logger);
} catch (SystemException e) {
// all other exceptions --> rollback if necessary and rethrow
rollbackIfNecessary();
throw e;
} finally {
removeConnection();
logger.exitDebug("updateComplaint");
This is the resulting StackTrace:
sql exception: [Closed Statement: next] - sql statement: [select *
at de.deutschepost.ubbrief.coma.persistence.dao.ConcernDAOImpl.getConcernsForIncidents(ConcernDAOImpl.java:363)
at de.deutschepost.ubbrief.coma.persistence.dao.CachingConcernDAOImpl.getConcernsForIncidents(CachingConcernDAOImpl.java:129)
at de.deutschepost.ubbrief.coma.persistence.incidentmanager.IncidentManagerImpl.loadConcernStructuresIntoIncidents(IncidentManagerImpl.java:1067)
at de.deutschepost.ubbrief.coma.persistence.incidentmanager.IncidentManagerImpl.loadStructureForIncident(IncidentManagerImpl.java:320)
at de.deutschepost.ubbrief.coma.persistence.incidentmanager.IncidentManagerImpl.loadIncidents(IncidentManagerImpl.java:264)
at de.deutschepost.ubbrief.coma.persistence.taskmanager.TaskManagerImpl.selectTasksForUser(TaskManagerImpl.java:299)
at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Impl.getTaskList(ComaServiceProviderZ2Impl.java:113)
at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Bean_1dhrj7_EOImpl.getTaskList(ComaServiceProviderZ2Bean_1dhrj7_EOImpl.java:154)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList.runServiceMethod(CMPGetTaskList.java:64)
at de.deutschepost.ubbrief.coma.sbbx.sp.BasicMethodProvider.execute(BasicMethodProvider.java:145)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl.execute(CMPGetTaskList_9b9mv5_EOImpl.java:46)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLSkel.invoke(UnknownSource)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLStub.execute(UnknownSource)
at de.deutschepost.ubbrief.backbone.jazz.impl.core.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:115)
at de.deutschepost.ubbrief.backbone.common.impl.core.rpc.server.ServerKernelImpl.handleTransportMessage(ServerKernelImpl.java:270)
at de.deutschepost.ubbrief.backbone.common.impl.core.messaging.MessageTransport.handleMessage(MessageTransport.java:454)
at de.deutschepost.ubbrief.backbone.common.impl.core.KernelFacade.handleMessage(KernelFacade.java:209)
at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean.messageArrived(BackboneBean.java:637)
at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean_ina9d7_ELOImpl.messageArrived(BackboneBean_ina9d7_ELOImpl.java:105)
at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.LocalQueueReceiveBean.deliverMessage(LocalQueueReceiveBean.java:43)
at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.AbstractMessageReceiveBean.onMessage(AbstractMessageReceiveBean.java:127)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:377)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:311)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:286)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2351)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2267)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
####<May 26, 2004 12:18:43 PM CEST> <Warning> <JDBC> <S0048016> <REMA20Z><Finalizer> <kernel identity> <> <001074> <A JDBC pool connection leak
was detected. A Connection leak occurs when a connection obtained from
the pool was not closed explicitly by calling close() and then was disposed
by the garbage collector and returned to the connection pool. The following
stack trace at create shows where the leaked connection was created.
Stack trace at connection create:
at weblogic.jdbc.pool.Connection.<init>(Connection.java:66)
at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:294)
at weblogic.jdbc.pool.Driver.connect(Driver.java:210)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:373)
at weblogic.jdbc.jts.Driver.connect(Driver.java:129)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:287)
at de.deutschepost.ubbrief.coma.core.ComaComponentImpl.getConnectionFromPool(ComaComponentImpl.java:163)
at de.deutschepost.ubbrief.coma.core.ComaComponentImpl.getConnectionInternal(ComaComponentImpl.java:135)
at de.deutschepost.ubbrief.coma.core.ComaComponentImpl.getConnection(ComaComponentImpl.java:99)
at de.deutschepost.ubbrief.coma.persistence.customermanager.CurryCustomerManagerImpl.findCustomers(CurryCustomerManagerImpl.java:73)
at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2BaseImpl.resolveCustomerInstances(ComaServiceProviderZ2BaseImpl.java:808)
at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Impl.getTaskList(ComaServiceProviderZ2Impl.java:213)
at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Bean_1dhrj7_EOImpl.getTaskList(ComaServiceProviderZ2Bean_1dhrj7_EOImpl.java:154)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList.runServiceMethod(CMPGetTaskList.java:64)
at de.deutschepost.ubbrief.coma.sbbx.sp.BasicMethodProvider.execute(BasicMethodProvider.java:145)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl.execute(CMPGetTaskList_9b9mv5_EOImpl.java:46)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLSkel.invoke(UnknownSource)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230)
at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLStub.execute(UnknownSource)
at de.deutschepost.ubbrief.backbone.jazz.impl.core.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:115)
at de.deutschepost.ubbrief.backbone.common.impl.core.rpc.server.ServerKernelImpl.handleTransportMessage(ServerKernelImpl.java:270)
at de.deutschepost.ubbrief.backbone.common.impl.core.messaging.MessageTransport.handleMessage(MessageTransport.java:454)
at de.deutschepost.ubbrief.backbone.common.impl.core.KernelFacade.handleMessage(KernelFacade.java:209)
at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean.messageArrived(BackboneBean.java:637)
at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean_ina9d7_ELOImpl.messageArrived(BackboneBean_ina9d7_ELOImpl.java:105)
at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.LocalQueueReceiveBean.deliverMessage(LocalQueueReceiveBean.java:43)
at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.AbstractMessageReceiveBean.onMessage(AbstractMessageReceiveBean.java:127)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:377)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:311)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:286)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2351)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2267)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210) -
Problems with Oracle Thin Driver
Hi,
I'm having major problems configuring the Oracle Thin Driver for use
with CMP Entity Beans. What am I doing wrong?
Configuration: Windows 2000 Professional, WebLogic 6.1, Oracle 8.1.6,
Oracle Thin Driver 8.1.7 (classes12.zip is the first thing in the
classpath)
I first created the connection pool through the console, here's the
generated xml:
<JDBCConnectionPool
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
MaxCapacity="2" Name="myXAPool"
Properties="user=XXX;url=jdbc:oracle:thin:@192.168.0.145:1521:db;password=XXX;dataSourceName=myXAPool"
Targets="server"/>
The connection pool deployed fine, so I went ahead and created the TX
DataSource through the console:
<JDBCTxDataSource JNDIName="mySource" Name="myXASource"
PoolName="myXAPool" Targets="server"/>
The log file shows that the TX DataSource was also created. Next step
was deploying the application. I created a new application through the
console and uploaded the ear file containing the application (several
SessionBeans, EntityBeans and a web application). Upon loading the first
CMP EntityBean (They have "mySource" set as the name of the DataSource
in the <data-source-name> tag), the following error showed up in the
log:
<04.10.2001 09:02:50 CEST> <Info> <EJB> <EJB Deploying file:
ContractClassStopover.jar>
<04.10.2001 09:02:51 CEST> <Error> <J2EE> <Error deploying application
ContractClassStopover:
Unable to deploy EJB: ContractClassStopoverBean from
ContractClassStopover.jar:
The Entity EJB requires the table: CONTRACT_CLASS_STOPOVER to be
accessible. Please ensure that this table exists and is accessible.
>
<04.10.2001 09:02:51 CEST> <Error> <Management> <Error deploying
application .\config\server\applications\app.ear:
java.lang.reflect.UndeclaredThrowableException>
The table exists, so I had a look at the jdbc log file. Here's what
happened in there:
DRVR FUNC OracleConnection.OracleConnection(par, pc, autoCommit=false)
DRVR FUNC
OracleConnection.initialize(ur="jdbc:oracle:thin:@192.168.0.145:1521:db",
us="XXX", access)
DRVR FUNC OracleConnection.initClientDataSupport()
DRVR OPER OracleConnection.setAutoCommit(autoCommit=false)
DRVR OPER OracleConnection.getAutoCommit() returned false
DRVR DBG1 OracleXAResource.start():start
DRVR DBG1 Should use OracleXid for 8.1.6 database
DRVR OPER OracleConnection.getTransactionIsolation() returned 2
DRVR OPER OracleConnection.isReadOnly()
DRVR OPER OracleConnection.getCatalog()
DRVR OPER OracleConnection.getAutoCommit() returned false
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnection.close()
DRVR FUNC OracleConnection.OracleConnection(par, pc, autoCommit=false)
DRVR FUNC
OracleConnection.initialize(ur="jdbc:oracle:thin:@192.168.0.145:1521:db",
us="XXX", access)
DRVR FUNC OracleConnection.initClientDataSupport()
DRVR OPER OracleConnection.setAutoCommit(autoCommit=false)
DRVR OPER OracleConnection.getAutoCommit() returned false
SQLException: SQLState() vendor code(-6)
java.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'myXAPool' null
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1044)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1010)
at weblogic.jdbc.jta.Connection.getXAConn(Connection.java:148)
at
weblogic.jdbc.jta.Connection.prepareStatement(Connection.java:226)
at
weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at
weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
at
weblogic.ejb20.utils.TableVerifier.checkTableAndColumns(TableVerifier.java:125)
at
weblogic.ejb20.utils.TableVerifier.verifyTableAndColumnsExist(TableVerifier.java:226)
at
weblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(TableVerifier.java:294)
at
weblogic.ejb20.cmp11.rdbms.PersistenceManagerImpl.verifyTablesExist(PersistenceManagerImpl.java:172)
at
weblogic.ejb20.cmp11.rdbms.PersistenceManagerImpl.setup(PersistenceManagerImpl.java:120)
at
weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.java:197)
at
weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:173)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
at
weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:793)
at
weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1250)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:939)
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
at weblogic.j2ee.Application.addComponent(Application.java:160)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:482)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.DynamicMBeanImpl.addDeployment(DynamicMBeanImpl.java:926)
at
weblogic.management.internal.DynamicMBeanImpl.addDeployment(DynamicMBeanImpl.java:913)
at
weblogic.management.internal.DynamicMBeanImpl.add(DynamicMBeanImpl.java:898)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:618)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
at $Proxy68.addTarget(Unknown Source)
at
weblogic.management.mbeans.custom.ApplicationManager.autoDeploy(ApplicationManager.java:833)
at
weblogic.management.mbeans.custom.ApplicationManager.addApplication(ApplicationManager.java:930)
at
weblogic.management.mbeans.custom.ApplicationManager.addApplication(ApplicationManager.java:852)
at
weblogic.management.mbeans.custom.ApplicationManager.poll(ApplicationManager.java:768)
at
weblogic.management.mbeans.custom.ApplicationManager.poll(ApplicationManager.java:701)
at
weblogic.management.mbeans.custom.ApplicationManager.update(ApplicationManager.java:198)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
at $Proxy5.update(Unknown Source)
at
weblogic.management.console.webapp._domain.__upload_app._jspService(__upload_app.java:150)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:190)
at
weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:112)
at
weblogic.management.console.actions.ForwardAction.perform(ForwardAction.java:35)
at
weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:172)
at
weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Can someone please help me figure out what's going wrong here?
Thanks in advance,
Nils
============================
[email protected]Thanks for the reply!! I was expecting something like this. I will look
into an upgrade to 8.1.7.
Take care,
Nils
Priscilla Fung wrote:
>
Hi,
You need to use an Oracle 8.1.7 server for XA features. Refer to Third Party
JDBC XA drivers doc for more info: http://e-docs.bea.com/wls/docs61/jta/thirdpartytx.html#1070650
Regards,
Priscilla
Nils Winkler <[email protected]> wrote:
Hi,
I'm having major problems configuring the Oracle Thin Driver for use
with CMP Entity Beans. What am I doing wrong?
Configuration: Windows 2000 Professional, WebLogic 6.1, Oracle 8.1.6,
Oracle Thin Driver 8.1.7 (classes12.zip is the first thing in the
classpath)
I first created the connection pool through the console, here's the
generated xml:
<JDBCConnectionPool
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
MaxCapacity="2" Name="myXAPool"
Properties="user=XXX;url=jdbc:oracle:thin:@192.168.0.145:1521:db;password=XXX;dataSourceName=myXAPool"
Targets="server"/>
The connection pool deployed fine, so I went ahead and created the TX
DataSource through the console:
<JDBCTxDataSource JNDIName="mySource" Name="myXASource"
PoolName="myXAPool" Targets="server"/>
The log file shows that the TX DataSource was also created. Next step
was deploying the application. I created a new application through the
console and uploaded the ear file containing the application (several
SessionBeans, EntityBeans and a web application). Upon loading the first
CMP EntityBean (They have "mySource" set as the name of the DataSource
in the <data-source-name> tag), the following error showed up in the
log:
<04.10.2001 09:02:50 CEST> <Info> <EJB> <EJB Deploying file:
ContractClassStopover.jar>
<04.10.2001 09:02:51 CEST> <Error> <J2EE> <Error deploying application
ContractClassStopover:
Unable to deploy EJB: ContractClassStopoverBean from
ContractClassStopover.jar:
The Entity EJB requires the table: CONTRACT_CLASS_STOPOVER to be
accessible. Please ensure that this table exists and is accessible.
>
<04.10.2001 09:02:51 CEST> <Error> <Management> <Error deploying
application .\config\server\applications\app.ear:
java.lang.reflect.UndeclaredThrowableException>
The table exists, so I had a look at the jdbc log file. Here's what
happened in there:
DRVR FUNC OracleConnection.OracleConnection(par, pc, autoCommit=false)
DRVR FUNC
OracleConnection.initialize(ur="jdbc:oracle:thin:@192.168.0.145:1521:db",
us="XXX", access)
DRVR FUNC OracleConnection.initClientDataSupport()
DRVR OPER OracleConnection.setAutoCommit(autoCommit=false)
DRVR OPER OracleConnection.getAutoCommit() returned false
DRVR DBG1 OracleXAResource.start():start
DRVR DBG1 Should use OracleXid for 8.1.6 database
DRVR OPER OracleConnection.getTransactionIsolation() returned 2
DRVR OPER OracleConnection.isReadOnly()
DRVR OPER OracleConnection.getCatalog()
DRVR OPER OracleConnection.getAutoCommit() returned false
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnection.close()
DRVR FUNC OracleConnection.OracleConnection(par, pc, autoCommit=false)
DRVR FUNC
OracleConnection.initialize(ur="jdbc:oracle:thin:@192.168.0.145:1521:db",
us="XXX", access)
DRVR FUNC OracleConnection.initClientDataSupport()
DRVR OPER OracleConnection.setAutoCommit(autoCommit=false)
DRVR OPER OracleConnection.getAutoCommit() returned false
SQLException: SQLState() vendor code(-6)
java.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in
an
inproper context start() failed on resource 'myXAPool' null
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1044)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1010)
at weblogic.jdbc.jta.Connection.getXAConn(Connection.java:148)
at
weblogic.jdbc.jta.Connection.prepareStatement(Connection.java:226)
at
weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at
weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
at
weblogic.ejb20.utils.TableVerifier.checkTableAndColumns(TableVerifier.java:125)
at
weblogic.ejb20.utils.TableVerifier.verifyTableAndColumnsExist(TableVerifier.java:226)
at
weblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(TableVerifier.java:294)
at
weblogic.ejb20.cmp11.rdbms.PersistenceManagerImpl.verifyTablesExist(PersistenceManagerImpl.java:172)
at
weblogic.ejb20.cmp11.rdbms.PersistenceManagerImpl.setup(PersistenceManagerImpl.java:120)
at
weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.java:197)
at
weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:173)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
at
weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:793)
at
weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1250)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:939)
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
at weblogic.j2ee.Application.addComponent(Application.java:160)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:482)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.DynamicMBeanImpl.addDeployment(DynamicMBeanImpl.java:926)
at
weblogic.management.internal.DynamicMBeanImpl.addDeployment(DynamicMBeanImpl.java:913)
at
weblogic.management.internal.DynamicMBeanImpl.add(DynamicMBeanImpl.java:898)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:618)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
at $Proxy68.addTarget(Unknown Source)
at
weblogic.management.mbeans.custom.ApplicationManager.autoDeploy(ApplicationManager.java:833)
at
weblogic.management.mbeans.custom.ApplicationManager.addApplication(ApplicationManager.java:930)
at
weblogic.management.mbeans.custom.ApplicationManager.addApplication(ApplicationManager.java:852)
at
weblogic.management.mbeans.custom.ApplicationManager.poll(ApplicationManager.java:768)
at
weblogic.management.mbeans.custom.ApplicationManager.poll(ApplicationManager.java:701)
at
weblogic.management.mbeans.custom.ApplicationManager.update(ApplicationManager.java:198)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
at $Proxy5.update(Unknown Source)
at
weblogic.management.console.webapp._domain.__upload_app._jspService(__upload_app.java:150)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:190)
at
weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:112)
at
weblogic.management.console.actions.ForwardAction.perform(ForwardAction.java:35)
at
weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:172)
at
weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Can someone please help me figure out what's going wrong here?
Thanks in advance,
Nils
============================
[email protected]
============================
[email protected] -
Using oracle thin driver from Weblogic server 6.1
Hi
I need to know which driver is best for establishing JDBC Connection i.e.
whether to use JDriver provided with Weblogic or to go using Oracle thin driver.
Can some one tell the detailed procedure involved in configuring oracle thin driver
in Weblogicserver 6.1.
Thanks in advance,
S GopikrishnaI would recommend using the thin driver where ever possible, their are
certain problems with thin driver which are more in the area of XA support
you can check weblogic documentation for pointers on this. Oracles latest
thin driver is pretty stable as they have fixed a bunch of problems.
heres how to use thin driver:
create the connection pool using the following url
jdbc:oracle:thin:@<mc-name or ip-address>:<port-no>:<oracle sid>
and driver: oracle.jdbc.driver.OracleDriver
You dont have to install the thin driver its bundled with the product.
hth
sree
"S Gopikrishna" <[email protected]> wrote in message
news:3c34a0e5$[email protected]..
Hi
I need to know which driver is best for establishing JDBC Connection
i.e.
whether to use JDriver provided with Weblogic or to go using Oracle thin
driver.
Can some one tell the detailed procedure involved in configuring oracle thin
driver
in Weblogicserver 6.1.
Thanks in advance,
S Gopikrishna -
No connection pool with oracle thin driver
Hi all,
whenever I try to set up my server as target for an Oracle connection pool on OPracle
8.1.7, I get the following exception:
java.sql.SQLException: Illegal Arguments
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:857)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:189)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:249)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:193)
at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:134)
at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
The Oracle driver classes12.zip is the very first in my classpath, connection pool
settings are:
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"
Name="Oracle Connection Pool"
Properties="dll=ocijdbc8;USER=zapper;protocol=thin;PASSWORD=oracle"
TestTableName="CABIN" URL="jdbc:oracle:thin:@192.168.0.2:1521:eins"/>
Do I need any additional software besides the driver and weblogic??
Thx
ChristianYou're welcome :)
Regards,
Slava Imeshev
"Christian" <[email protected]> wrote in message
news:[email protected]...
>
That worked!
Thx
"Slava Imeshev" <[email protected]> wrote:
Hi Christian,
There is a couple of problems with the pool definition.
First, the connection pool and datasource names can't
contain spaces. Second, USER and PASSWORD
should be in lower case, i.e. user and password accordingly.
Regards,
Slava Imeshev
"Christian" <[email protected]> wrote in message
news:[email protected]...
Hi all,
whenever I try to set up my server as target for an Oracle connectionpool
on OPracle
8.1.7, I get the following exception:
java.sql.SQLException: Illegal Arguments
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:857)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:189)
at
oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:249)
atoracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
atweblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.java:193)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.java:134)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava:698)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623
The Oracle driver classes12.zip is the very first in my classpath,connection pool
settings are:
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"
Name="Oracle Connection Pool"
Properties="dll=ocijdbc8;USER=zapper;protocol=thin;PASSWORD=oracle"
TestTableName="CABIN" URL="jdbc:oracle:thin:@192.168.0.2:1521:eins"/>
Do I need any additional software besides the driver and weblogic??
Thx
Christian -
Using Oracle thin driver with Weblogic 6.1
hi all,
i am trying to create a ConnectionPool using WLS6.1 and Oracle 8.0.5.
Since i cannot use the weblogic driver (due to the old version of oracle that
i have)
i am trying to use instead the oracle thin driver.
i configured my pool as follows:
URL jdbc:oracle:[email protected]:1521:ORC1
Driver oracle.jdbc.Driver.OracleDriver
Propeties user=SCOTT
when i try to assing the created pool to a server (using the 'Target' link),
i always got this exception
weblogic.management.DeploymentException: Error creating connection pool - with
n
ested exception:
[weblogic.common.ResourceException: Cannot load driver class: oracle.jdbc.Driver
.OracleDriver]
at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:110)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Depl
oymentTarget.java:329)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Depl
oymentTarget.java:144)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMB
eanImpl.java:608)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl
.java:592)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:352)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBean
s(ConfigurationMBeanImpl.java:484)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:354)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
at $Proxy7.addDeployment(Unknown Source)
at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(Dynam
icMBeanImpl.java:1448)
at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBe
anImpl.java:858)
at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBe
anImpl.java:810)
at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(Conf
igurationMBeanImpl.java:288)
at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.j
ava:1356)
at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.j
ava:1331)
at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:
303)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
at $Proxy75.setTargets(Unknown Source)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.console.info.FilteredMBeanAttribute.doSet(Filtere
dMBeanAttribute.java:89)
at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(D
oEditMBeanAction.java:116)
at weblogic.management.console.actions.internal.ActionServlet.doAction(A
ctionServlet.java:167)
at weblogic.management.console.actions.internal.ActionServlet.doPost(Act
ionServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2456)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.management.DistributedOperationUpdateException: Error creating connecti
on pool - with nested exception:
[weblogic.management.DeploymentException: Error creating connection pool - with
nested exception:
[weblogic.common.ResourceException: Cannot load driver class: oracle.jdbc.Driver
.OracleDriver]]
at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBean
s(ConfigurationMBeanImpl.java:494)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:354)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:44>
However, i set the CLASSPATH & PATH of my startWebLogic.cmd as follows:
set PATH=c:\orant\bin;d:\bea\wlserver6.1\bin\oci817_8;.\bin;%PATH%
set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;.\samples\eval\cloudscape\lib\cloudscape.jar;.\config\examples\serverclasses;c:\orant\jdbc\lib\classes111.zip
AND, i have written a small program that uses JDBC (without weblogic) to query
a table
on the Oracle (using the pool's URL in the properties for getting the Connection
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORC1", "scott",
"tiger");
and that program works fine.
Can anyone tell me what is wrong?? it seems that everything is in order (with
respect to CLASSPATH, PATH etc..)
hope someone can solve my problem
thanx and regards
marcoyour url should be
jdbc:oracle:thin:@127.0.0.1:1521:ORC1
notice the ':' before the '@'.
sree
"Marco" <[email protected]> wrote in message
news:[email protected]...
Hi Sree,
You have to place the classes11.zip file in the beginning of the classpath.i did it. my CLASSPATH is now
CLASSPATH=c:\orant\jdbc\lib\classes111.zip;.;.\lib\weblogic_sp.jar;.\lib\web
logic.jar;.\samples\eval\cloudscape\lib\cloudscape.jar;.\config\examples\ser
verclasses
But now, when i assign the target, the exception is:
--------------- nested within: ------------------
weblogic.management.DistributedOperationUpdateException: Error creating
connecti
on pool - with nested exception:
[weblogic.management.DeploymentException: Error creating connection pool -
with
nested exception:
[weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: Sub Protocol must be specified in connection URL
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:352)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:102)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Con
nectionEnvFactory.java:192)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Con
nectionEnvFactory.java:134)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllo
cator.java:698)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.j
ava:282)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.j
ava:629)
at
weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Depl
oymentTarget.java:329)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Depl
oymentTarget.java:144)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMB
eanImpl.java:608)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl
java:592)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:352)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at
weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBean
s(ConfigurationMBeanImpl.java:484)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:354)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
at $Proxy8.addDeployment(Unknown Source)
at weblogic.management.internal.DynamicMB>
what is SubProtocol???
my ConnectionPool is configured as follows:
Name: MyJDBC Connection Pool
URL : jdbc:oracle:[email protected]:1521:ORC1
Driver: oracle.jdbc.driver.OracleDriver
Properties: user=SCOTT
Password : tiger
can u help me???
thanx in advance and regards
marco
>
>
at
weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:110)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Depl
oymentTarget.java:329)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Depl
oymentTarget.java:144)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMB
eanImpl.java:608)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl
java:592)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:352)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at
weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBean
s(ConfigurationMBeanImpl.java:484)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:354)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
at $Proxy7.addDeployment(Unknown Source)
at
weblogic.management.internal.DynamicMBeanImpl.updateDeployments(Dynam
icMBeanImpl.java:1448)
at
weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBe
anImpl.java:858)
at
weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBe
anImpl.java:810)
at
weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(Conf
igurationMBeanImpl.java:288)
at
com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.j
ava:1356)
at
com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.j
ava:1331)
at
weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:
303)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
at $Proxy75.setTargets(Unknown Source)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.console.info.FilteredMBeanAttribute.doSet(Filtere
dMBeanAttribute.java:89)
at
weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(D
oEditMBeanAction.java:116)
at
weblogic.management.console.actions.internal.ActionServlet.doAction(A
ctionServlet.java:167)
at
weblogic.management.console.actions.internal.ActionServlet.doPost(Act
ionServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2456)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.management.DistributedOperationUpdateException: Error creating
connecti
on pool - with nested exception:
[weblogic.management.DeploymentException: Error creating connection pool
with
nested exception:
[weblogic.common.ResourceException: Cannot load driver class:
oracle.jdbc.Driver
OracleDriver]]
at
weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBean
s(ConfigurationMBeanImpl.java:494)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(Configurat
ionMBeanImpl.java:354)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
at
weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:44>
However, i set the CLASSPATH & PATH of my startWebLogic.cmd as follows:
set PATH=c:\orant\bin;d:\bea\wlserver6.1\bin\oci817_8;.\bin;%PATH%
set
CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;.\samples\eval\cloudsc
a
pe\lib\cloudscape.jar;.\config\examples\serverclasses;c:\orant\jdbc\lib\clas
ses111.zip
AND, i have written a small program that uses JDBC (without weblogic)
to
query
a table
on the Oracle (using the pool's URL in the properties for getting the
Connection
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORC1",
"scott",
"tiger");
and that program works fine.
Can anyone tell me what is wrong?? it seems that everything is in order
(with
respect to CLASSPATH, PATH etc..)
hope someone can solve my problem
thanx and regards
marco -
Method getCustomDatum() and Oracle thin client
Hello All,
I am using WL6.1 and an Oracle thin driver. I am using the Oracle Intermedia classes
for Java in order to retrieve images for jsps and servlets.
Trying to use the Oracle classes caused class cast exceptions. When using the
weblogic.jdbc.vendor.oracle.OracleResultSet, I got the error
"java.sql.SQLException: getCustomDatum is not supported by the Weblogic JDBC Driver".
I was wondering if anyone else has run into this problem? Any help would be greatly
appreciated.
Thanks,
RichSlava,
Thank you for your help.
- Richard
"Slava Imeshev" <[email protected]> wrote:
Hi Richard,
"Richard Dedeyan" <[email protected]> wrote in message
news:3d2638f5
Do you mean that I need to get to get a connection directly to thedatabase using
the Thin driver instead of getting the connection via the pool?Yes, this is the first option. Note that with using thin driver directly
you loose all advantages of using weblogic JDBC subsystem like
transactions, connection pooling and caching of prepeared statements.
I'd go with a stored procedure.
Regards,
Slava Imeshev
Thanks for your help.
- Richard
"Slava Imeshev" <[email protected]> wrote:
Hi Richard,
This feature is not supported by weblogic because
oracle Datum is not serializable. In case you have a
strict requirement, you will need to switch to using
oracle thin driver directly. You could also consider
moving processing to stored procedure.
Regards,
Slava Imeshev
"Richard Dedeyan" <[email protected]> wrote in message
news:3d260294$[email protected]..
Hello All,
I am using WL6.1 and an Oracle thin driver. I am using the OracleIntermedia classes
for Java in order to retrieve images for jsps and servlets.
Trying to use the Oracle classes caused class cast exceptions. Whenusing the
weblogic.jdbc.vendor.oracle.OracleResultSet, I got the error
"java.sql.SQLException: getCustomDatum is not supported by the
Weblogic
JDBC Driver".
I was wondering if anyone else has run into this problem? Any helpwould be greatly
appreciated.
Thanks,
Rich
Maybe you are looking for
-
i upgrade from windows 8.1 to windows 10 technical preview
-
IPhone No Longer Works with JBL Onstage III
Is anyone experiencing a similar issue after upgrading your iPhone 1st generation to 2.1? Now, when I pop my phone into the JBL Onstage III, it gives me the prompt that it's not a compatible device, and would I like to put it in airport mode. It's al
-
Emailing open PO reports to Vendor
Hi Emailing open PO reports to Vendor (through ME2L Tcode), However sending these emails automatically generates a "Delivered" and a "Read" email notification each time the report is sent. I do not want receive either a Delivered " nor a "Read" auto
-
TS1389 where is the store button on itunes to authorise my new computer?
i can not find the "store" button on itunes and it say on the internet that i need to click that to authorise my new computer, any help will be appreciated!!
-
Orical91 Utilities documentation
I am trying to find the 9i utilities documentation. I am starting to use SQL*Loader and want the documentation. Rich