XA transaction using weblogic.jdbc.oci.xa.XADataSource
Hi everyone, I am trying to execute XA transaction using the driver XA compatible
driver
weblogic.jdbc.oci.xa.XADataSource. I have added c:\bea7.0SP4
\weblogic700\server\bin\ntvinv\oci817_8\weblogicoci38.dll in the PATH in my
weblogic managed server startup script.
When I start managed server, I get the error saying that weblogicoci38.dll
is not in java.library.path. I checked the server log file and in that
it clearly shows that java.library.path contains this file. Please suggest
me what to do.
I have weblogic 7.0 with SP4 and databse is oracle 8i.
thanks,
jyothi
####<Mar 1, 2004 9:52:36 AM EST> <Error> <JDBC> <temp1> <server1> <main> <kernel
identity> <> <001060> <Cannot startup connection pool "ConnPool1" java.sql.SQLException:
System.loadLibrary(weblogicoci38) threw java.lang.UnsatisfiedLinkError: no weblogicoci38
in java.library.path>
####<Mar 1, 2004 9:52:49 AM EST> <Info> <Management> <temp1> <server1> <main>
<kernel identity> <> <141187> <Java system properties are defined as follows:
awt.toolkit = sun.awt.windows.WToolkit
bea.home = c:\bea7.0SP4
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = c:\bea7.0SP4\jdk131_08\lib\tools.jar;c:\bea7.0SP4\weblogic700\server\lib\weblogic_sp.jar;c:\bea7.0SP4\weblogic700\server\lib\weblogic.jar;c:\bea7.0SP4\weblogic700\server\bin\ntvinv\oci817_8\weblogicoci38.dll;C:\bea7.0SP4\user_projects\jytDmnCluster\lib\parser.jar.jar;C:\bea7.0SP4\user_projects\jytDmnCluster\lib\xml4j_1_1_16.jar;C:\bea7.0SP4\user_projects\jytDmnCluster\p6spy.jar
java.class.version = 47.0
java.ext.dirs = c:\bea7.0SP4\jdk131_08\jre\lib\ext
java.home = c:\bea7.0SP4\jdk131_08\jre
java.io.tmpdir = C:\DOCUME~1\jshanbag\LOCALS~1\Temp\
java.library.path = c:\bea7.0SP4\jdk131_08\bin;.;C:\WINNT\System32;C:\WINNT;.;c:\bea7.0SP4\weblogic700\server\bin;c:\bea7.0SP4\jdk131_08\bin;c:\bea7.0SP4\weblogic700\server\bin\ntvinv\oci817_8\weblogicoci38.dll;\jpda\bin;C:\Oracle\Ora81\bin;C:\Program
Files\Oracle\jre\1.1.7\bin;C:\PROGRA~1\PVCS\VM\win32\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;c:\;c:\vslick\win
jyothip wrote:
Hi everyone, I am trying to execute XA transaction using the driver XA compatible
driver
weblogic.jdbc.oci.xa.XADataSource. I have added c:\bea7.0SP4
\weblogic700\server\bin\ntvinv\oci817_8\weblogicoci38.dll in the PATH in my
weblogic managed server startup script.
When I start managed server, I get the error saying that weblogicoci38.dll
is not in java.library.path. I checked the server log file and in that
it clearly shows that java.library.path contains this file. Please suggest
me what to do.Hi. This error message can be confusing for some OSes. If the process tries to
load a method from XYZ.DLL, and finds the DLL, but in order to load that method,
it finds it needs to also load ABC.DLL (such as the Oracle OCI DLL or the OS C libraries)
and doesn't find that lower-level DLL, the user can get a message mentioning only the
first (present) DLL. Please print out your full java.library.path. Does it correctly
list all the basing OS C libraries, and the Oracle Clint library path?
thanks,
Joe
>
I have weblogic 7.0 with SP4 and databse is oracle 8i.
thanks,
jyothi
####<Mar 1, 2004 9:52:36 AM EST> <Error> <JDBC> <temp1> <server1> <main> <kernel
identity> <> <001060> <Cannot startup connection pool "ConnPool1" java.sql.SQLException:
System.loadLibrary(weblogicoci38) threw java.lang.UnsatisfiedLinkError: no weblogicoci38
in java.library.path>
####<Mar 1, 2004 9:52:49 AM EST> <Info> <Management> <temp1> <server1> <main>
<kernel identity> <> <141187> <Java system properties are defined as follows:
awt.toolkit = sun.awt.windows.WToolkit
bea.home = c:\bea7.0SP4
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = c:\bea7.0SP4\jdk131_08\lib\tools.jar;c:\bea7.0SP4\weblogic700\server\lib\weblogic_sp.jar;c:\bea7.0SP4\weblogic700\server\lib\weblogic.jar;c:\bea7.0SP4\weblogic700\server\bin\ntvinv\oci817_8\weblogicoci38.dll;C:\bea7.0SP4\user_projects\jytDmnCluster\lib\parser.jar.jar;C:\bea7.0SP4\user_projects\jytDmnCluster\lib\xml4j_1_1_16.jar;C:\bea7.0SP4\user_projects\jytDmnCluster\p6spy.jar
java.class.version = 47.0
java.ext.dirs = c:\bea7.0SP4\jdk131_08\jre\lib\ext
java.home = c:\bea7.0SP4\jdk131_08\jre
java.io.tmpdir = C:\DOCUME~1\jshanbag\LOCALS~1\Temp\
java.library.path = c:\bea7.0SP4\jdk131_08\bin;.;C:\WINNT\System32;C:\WINNT;.;c:\bea7.0SP4\weblogic700\server\bin;c:\bea7.0SP4\jdk131_08\bin;c:\bea7.0SP4\weblogic700\server\bin\ntvinv\oci817_8\weblogicoci38.dll;\jpda\bin;C:\Oracle\Ora81\bin;C:\Program
Files\Oracle\jre\1.1.7\bin;C:\PROGRA~1\PVCS\VM\win32\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;c:\;c:\vslick\win
Similar Messages
-
Connection Pool using weblogic.jdbc.pool.Driver
I am trying to use connection pooling in my JSP data access classes (which
work fine without connection pooling) on weblogic 4.5.1. I tried using the
weblogic.jdbc.pool.Driver but it exits with the following exception:
java.lang.ClassNotFoundException: weblogic.jdbc.pool.Driver
The path c:\weblogic\classes which contains this driver is specified in the
weblogic.class.path . I can not include it in the java class path because
then weblogic server fails to start at all (with an error message). I would
appreciate any help !
Thanks,
UsamahHi. Please don't repost identical posts to different news groups. See a response
in the JDBC group. thanks, joe
Usamah Malik wrote:
I am trying to use connection pooling in my JSP data access classes (which
work fine without connection pooling) on weblogic 4.5.1. I tried using the
weblogic.jdbc.pool.Driver but it exits with the following exception:
java.lang.ClassNotFoundException: weblogic.jdbc.pool.Driver
The path c:\weblogic\classes which contains this driver is specified in the
weblogic.class.path . I can not include it in the java class path because
then weblogic server fails to start at all (with an error message). I would
appreciate any help !
Thanks,
Usamah--
PS: Hey folks, we're hiring Java engineers for our WebLogic
Engineering group in downtown S.F. Send me your resume.
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web Application Server
Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a Component Architecture
http://weblogic.beasys.com/press/awards/index.htm -
I am using the weblogic driver with Allaire JRun.
Using these lines, I am trying to make my resultsets scrollable and updatable.
dbConnection.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE
ResultSet rs = queryStatement.executeQuery(query);
When I run the code, I get this error ..
java.lang.AbstractMethodError
at allaire.jrun.sql.ConnectionProxy.createStatement(../sql/ConnectionProxy.java:413)
at com.mindseye.utils.database.DBAccessor.executeQuery(DBAccessor.java:35)
at com.fao.shopping.tag.HandleShoppingCartTag.checkExists(HandleShoppingCartTag.java:635)
at com.fao.shopping.tag.HandleShoppingCartTag.doStartTag(HandleShoppingCartTag.java:90)
at jrun__jsp__shoppingbag2ejsp14._jspService(jrun__jsp__shoppingbag2ejsp14.java:45)
at allaire.jrun.jsp.HttpJSPServlet.service(../jsp/HttpJSPServlet.java:39)
at allaire.jrun.jsp.JSPServlet.service(../jsp/JSPServlet.java:228)
Everything works fine when I do not try and specify attributes to the statement
object. (i.e. dbConnection.createStatement();)
Anybody know what is going on?
thanks,
randyHi. I don't see our code anywhere in the stacktrace, but I'll assume
it's there somewhere. The basic fact is that our MS SQLServer driver
implements practically zero of the JDBC 2.0 methods. There is a way
to connect to this driver that has the methods defined, but then all
the difference will be that you'll get an exception saying 'this jdbc 2.0
method not implemented'.
Joe
randy shepherd wrote:
>
I am using the weblogic driver with Allaire JRun.
Using these lines, I am trying to make my resultsets scrollable and updatable.
dbConnection.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE
ResultSet rs = queryStatement.executeQuery(query);
When I run the code, I get this error ..
java.lang.AbstractMethodError
at allaire.jrun.sql.ConnectionProxy.createStatement(../sql/ConnectionProxy.java:413)
at com.mindseye.utils.database.DBAccessor.executeQuery(DBAccessor.java:35)
at com.fao.shopping.tag.HandleShoppingCartTag.checkExists(HandleShoppingCartTag.java:635)
at com.fao.shopping.tag.HandleShoppingCartTag.doStartTag(HandleShoppingCartTag.java:90)
at jrun__jsp__shoppingbag2ejsp14._jspService(jrun__jsp__shoppingbag2ejsp14.java:45)
at allaire.jrun.jsp.HttpJSPServlet.service(../jsp/HttpJSPServlet.java:39)
at allaire.jrun.jsp.JSPServlet.service(../jsp/JSPServlet.java:228)
Everything works fine when I do not try and specify attributes to the statement
object. (i.e. dbConnection.createStatement();)
Anybody know what is going on?
thanks,
randy -
Use direct JDBC with CMP entity bean in one transaction
I am trying to use direct JDBC call with CMP entity bean within a session
bean method that requires transaction. The problem is that it appears these
are not in the same transaction. When I use the JDBC call, the CMP entity
bean update to the DB has not been committed yet.
We are using Weblogic 5.1 SP6. The DB is Oracle.
What I do for the JDBC is get a new connection from the pool using weblogic
jdbc pool driver.
Any help would be appreciated.
PatrickHi. You can do JDBC and invoke CMP EJBs and have this all treated
as one transaction, if your hand-written code explicitly starts
a JTS transaction, then uses the jts driver or a TxDataSource to
get the JDBC connection. Then your code can call transactional
EJBs and their work will be included in the transaction you started.
Assuming the bean work went OK, and your manual JDBC went OK, you
can manually commit the UserTransaction at that time. This is 5.1
talk. For 6.0, with @PC, this may be even easier...
Joe
Patrick Shen wrote:
>
But if I do that, then they would not be in the same transaction anymore.
Is there any way to use JDBC with CMP Entity bean in the same transaction?
Patrick
"L'artiste" <[email protected]> wrote in message
news:[email protected]...
Are you calling all the CMP create in the session Bean ? If so, beforeyou
make the JDBC call from the session bean, the CMP in 2. should commit. Try
to set its attribute to TX_REQUIRES_NEW. This way, the calling client will
block until this transaction is done (committed) before the execution
continues. There might be some overhead involved in doing so if you are
anticipating a lot of users.
"Patrick Shen" <[email protected]> wrote in message
news:[email protected]...
What I am trying to do is:
In a Session bean method -
1. create a new CMP entity bean (a new row in DB table)
2. create another new CMP entity bean that uses previous bean as foreignkey
3. use JDBC to update the row just created
And all these 3 calls have to be in one transaction.
Thanks,
Patrick
"L'artiste" <[email protected]> wrote in message
news:[email protected]...
Can you give a little bit more information?
Do you have methods in your session bean that creates this CMP entitybeans?
It looks like
you might wanna try to change the isolation level to
TRANSACTION_READ_COMITTED
to preven dirty_read.
"Patrick Shen" <[email protected]> wrote in message
news:[email protected]...
I am trying to use direct JDBC call with CMP entity bean within a
session
bean method that requires transaction. The problem is that it
appears
these
are not in the same transaction. When I use the JDBC call, the CMP
entity
bean update to the DB has not been committed yet.
We are using Weblogic 5.1 SP6. The DB is Oracle.
What I do for the JDBC is get a new connection from the pool usingweblogic
jdbc pool driver.
Any help would be appreciated.
Patrick
PS: Folks: BEA WebLogic is expanding rapidly, with both entry and advanced positions
for people who want to work with Java, XML, SOAP and E-Commerce infrastructure products.
We have jobs at Nashua NH, Liberty Corner NJ, San Francisco and San Jose CA.
Send resumes to [email protected] -
Using Oracle8 JDBC Drivers with WebLogic 5.1
We are currently using the BEA WebLogic 5.1 application server and Oracle 8.0.4. We are using the JDBC OCI driver that came out-of-the-box with the WebLogic software. However, we would like to use the driver developed by Oracle, instead.
Does the Oracle8 JDBC driver (both type 2 and type 4) interoperate with WebLogic 5.1? If not, what are the problems that prohibit them being used together?
Thanks... Steve BurschSummarizing from previous threads on this forum (I have not run this configuration myself):
The main issue is that you will not be able to use Oracle-specific functionality from the Oracle driver.
This includes all types in oracle.sql, or any APIs on oracle.jdbc.driver.OracleXxxx classes, or JPublisher-generated wrappers for SQL Object Types, collections, or REFs.
Also, since Oracle does not support side-channel result sets, but requires explicit REF CURSOR out parameters from stored procedures/functions, you will not be able to return REF CURSORs to the client, from stored proedures or functions - the getCursor() API that is required is Oracle-specific and not part of JDBC.
As long as you limit yourself strictly to standard JDBC types, and do not require the return of result sets from the server, you should probably be fine. -
PROBLEM DESCRIPTION :
When I try to read a clob from Oracle, I receive "ORA-03120: two-task
conversion routine: integer overflow" Error.
This error occurs only for CLOB Type and only if I try to connect to
Oracle using WebLogic JDriver/Oracle POOL.
IMPORTANT NOTE: I can read CLOB or any other data using direct JDBC
connection to ORacle with out any problem.
Below Please find the JAVA CODE for Both Working and NON Working .
Created a Connection Pool as:
Name: MyJDBCConnectionPool
URL : jdbc:weblogic:oracle
DIRVER:weblogic.jdbc.oci.Driver
NON WORKING JAVA CODE (USES WEBLOGIC JDBC CONNECTION POOL TO ORACLE):
Driver myDriver =
(Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
Connection mconn =
myDriver.connect("jdbc:weblogic:pool:MyJDBCConnectionPool",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
WORKING JAVA CODE (USES DIRECT THIN JDBC CONNECTION TO ORACLE):
Driver myDriver =
(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection mconn =
myDriver.connect("jdbc:oracle:thin:@server:1521:DB",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
ERROR MESSAGE:
ORA-03120: two-task conversion routine: integer overflow
I appreciate your help on this problem.PROBLEM DESCRIPTION :
When I try to read a clob from Oracle, I receive "ORA-03120: two-task
conversion routine: integer overflow" Error.
This error occurs only for CLOB Type and only if I try to connect to
Oracle using WebLogic JDriver/Oracle POOL.
IMPORTANT NOTE: I can read CLOB or any other data using direct JDBC
connection to ORacle with out any problem.
Below Please find the JAVA CODE for Both Working and NON Working .
Created a Connection Pool as:
Name: MyJDBCConnectionPool
URL : jdbc:weblogic:oracle
DIRVER:weblogic.jdbc.oci.Driver
NON WORKING JAVA CODE (USES WEBLOGIC JDBC CONNECTION POOL TO ORACLE):
Driver myDriver =
(Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
Connection mconn =
myDriver.connect("jdbc:weblogic:pool:MyJDBCConnectionPool",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
WORKING JAVA CODE (USES DIRECT THIN JDBC CONNECTION TO ORACLE):
Driver myDriver =
(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection mconn =
myDriver.connect("jdbc:oracle:thin:@server:1521:DB",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
ERROR MESSAGE:
ORA-03120: two-task conversion routine: integer overflow
I appreciate your help on this problem. -
Jdbc oci interface and xdb API for oracle 9.2.0.7
I have a Java application that uses the jdbc oci interface to connect to an Oracle database and insert some XML into an XMLType column using the XDB APIs provided in xdb.jar.
OS : IBM AIX version 5.1
JVM : IBM 32-bit SDK pour AIX, Java 2 Technology Edition, version 1.4.2
libraries used :
ojdbc14.jar
nls_charset12.jar
xdb.jar
xmlparserv2.jar
libocijdbc9.so
with Oracle 9.2.0.1 the application worked correctly. However we have just upgraded from Oracle 9.2.0.1 to Oracle 9.2.0.7 and now the JVM crashes when the XMLType.createXML(java.sql.Connection, java.lang.String) API is called. The error message is :
JVMDG217: Dump Handler is Processing Signal 11 - Please Wait.
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to /<snip>/javacore2375690.1152115549.txt
JVMDG215: Dump Handler has Processed Exception Signal 11.
start.shl: 2375690 Segmentation fault(coredump)
In the javacore file we find the lines :
1XHSIGRECV SIGSEGV received at 0xdd7b7d6c in /<snip>/libocijdbc9.so. Processing terminated.
... <snip> ...
"Thread-2" (TID:0x3030B4D8, sys_thread_t:0x75A8B128, state:R, native ID:0xA0C) prio=5
4XESTACKTRACE at oracle.xdb.XMLType.createXMLTypeFromStringNative(Native Method)
4XESTACKTRACE at oracle.xdb.XMLType.<init>(XMLType.java:518)
4XESTACKTRACE at oracle.xdb.XMLType.createXML(XMLType.java:593)
Does anyone have any ideas? Changing the version from 9.2.0.7 is not an option.
Thanks,
Dave Gosling.The 9.2.0.5 patchset, and all patchsets, are available for download from Metalink.
There should be a rather large variety of JDBC drivers that will connect to an 9.2.0.5 database if that's what you're asking about.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
Execution of first request takes lot of time with JDBC OCI
Hi,
We are having an application which connects to Oracle server(10g Enterprise Edition Release 10.2.0.4.0 64bit) using Oracle JDBC OCI driver(10.2.0.1.0 production (10g R2)).
Everything works fine.
But what we observed is randomly the first request to the server vai JDBC driver in a day takes lot of time, varies from 5-15 minutes.
If we execute the request again it executed immediately
What we observed while debugging is preparedStatement.executeQuery() is taking time.
We enabled logging at the JDBC driver layer and a snapshot isgiven below. Between T2CPreparedStatement.doDefineExecuteFetch () and T2CPreparedStatement.execute_for_rows () it takes 5 minutes. Any idea why it takes this much time and reason for it? Oracle driver is not throwing any exceptions
*4-apr-2011 4:00:01* oracle.jdbc.driver.T2CPreparedStatement doDefineExecuteFetch
FINE: T2CPreparedStatement.doDefineExecuteFetch ()
*4-apr-2011 4:05:12* oracle.jdbc.driver.T2CPreparedStatement executeForRows
FINE: T2CPreparedStatement.execute_for_rows () returns: void
Detailed jdbc log is below
-apr-2011 4:00:01 oracle.jdbc.driver.OracleStatement doExecuteWithTimeout
FINE: OracleStatement.doExecuteWithTimeout() needToPrepareDefineBuffer = false
4-apr-2011 4:00:01 oracle.jdbc.driver.PhysicalConnection needLine
FINE: PhysicalConnection.needLine()--no return
4-apr-2011 4:00:01 oracle.jdbc.driver.PhysicalConnection registerHeartbeat
FINE: PhysicalConnection.registerHeartbeat()
4-apr-2011 4:00:01 oracle.jdbc.driver.OracleStatement executeMaybeDescribe
FINE: OracleStatement.execute_maybe_describe() rowPrefetchChanged = false, needToParse = false, needToPrepareDefineBuffer = false, columnsDefinedByUser = false
4-apr-2011 4:00:01 oracle.jdbc.driver.T2CPreparedStatement executeForRows
FINE: T2CPreparedStatement.execute_for_rows (executed_for_describe = false)
4-apr-2011 4:00:01 oracle.jdbc.driver.T2CPreparedStatement doDefineExecuteFetch
FINE: T2CPreparedStatement.doDefineExecuteFetch ()
4-apr-2011 4:05:12 oracle.jdbc.driver.T2CPreparedStatement executeForRows
FINE: T2CPreparedStatement.execute_for_rows () returns: void
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleStatement executeMaybeDescribe
FINE: OracleStatement.execute_maybe_describe():return validRows = 1, needToPrepareDefineBuffer = false
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleStatement doExecuteWithTimeout
FINE: OracleStatement.doExecuteWithTimeout():return validRows = 1, needToPrepareDefineBuffer = false
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl next
FINE: OracleResultSetImpl.next(): closed=false
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl next
FINER: closed=false, statement.currentRow=-1, statement.totalRowsVisited=0, statement.maxRows=0, statement.validRows=1, statement.gotLastBatch=true
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl getString
INFO: OracleResultSetImpl.getString(columnIndex=1)
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl wasNull
INFO: OracleResultSetImpl.wasNull()
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl getString
INFO: OracleResultSetImpl.getString(columnIndex=2)
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl wasNull
INFO: OracleResultSetImpl.wasNull()
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl getString
INFO: OracleResultSetImpl.getString(columnIndex=3)
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl wasNull
INFO: OracleResultSetImpl.wasNull()
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl wasNull
INFO: OracleResultSetImpl.wasNull()
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl getTimestamp
INFO: OracleResultSetImpl.getTimestamp(columnIndex=4)
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl wasNull
INFO: OracleResultSetImpl.wasNull()
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl wasNull
INFO: OracleResultSetImpl.wasNull()
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl next
FINE: OracleResultSetImpl.next(): closed=false
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl next
FINER: closed=false, statement.currentRow=0, statement.totalRowsVisited=1, statement.maxRows=0, statement.validRows=1, statement.gotLastBatch=true
4-apr-2011 4:05:12 oracle.jdbc.driver.PhysicalConnection needLine
FINE: PhysicalConnection.needLine()--no return
4-apr-2011 4:05:12 oracle.jdbc.driver.T2CPreparedStatement closeQuery
FINE: T2CPreparedStatement.closeQuery ()
4-apr-2011 4:05:12 oracle.jdbc.driver.T2CPreparedStatement closeQuery
FINE: T2CPreparedStatement.closeQuery () returns: void
4-apr-2011 4:05:12 oracle.jdbc.driver.OracleResultSetImpl close
INFO: OracleResultSetImpl.close()
Regards
SunilHi,
Thanks for the reply
- SQL may vary. Its not the same query which takes time always. The same query executed immediately(using another connection from pool) works perfectly
- If there is a failover or stale connection getting closed or timeout, will JDBC driver thhrows exdeption? I didn't see any exceptions in the driver logs. Is there anyway to identify whether failover or timeout is happening?
Some other points
- The application uses connection pooling. This means that connections are created in the beginning and kept in the pool. And it may be in the pool for 72 hours or , before this issue happens
- Application uses prepared statements and the statements are preapred and kept and re used later. So the query which take s more time might be prepared before 48 hours or so.
- This is not happening every day. Many times the pattern is , it happens after 60-72 hours after application is started.
Sunil -
Which jar Conains weblogic.jdbc.extensions.WLConnection in Weblogic 10.3
Hi,
Thank you in advance for your help.
I am upgrading my application from weblogic 9.2 to weblogic 10.3. My app uses weblogic.jdbc.extensions.WLConnection. This class is in weblogic.jar of weblogic 9.2. Which jar contains this class in weblogic 10.3?
Please advise,
Best Regards.
JohnIt's in the com.bea.core.datasource_1.4.0.0.jar in modules directory.
-
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixinJoseph Weinstein <[email protected]> wrote:
>
>
YuanHui Liu wrote:
Joe,
We got the exact same error message. The error came after we got theJDBC connection,
and trying to create statement off it.
It occurs intermitently when we are running another standalone JAVAapp to do
some end of day work, which results in the DB Server being very busy(90+%CPU
usage) for about 5 minutes. We see a surge of requests to the WLSJDBC Connection
pool. This would sometimes result in all our subsequent DB requeststo fail and
lead to a crash.
We are using WLS6.0SP1. I do not think there's a 30 seconds wait leadingto a
connection timeout that caused this(rather it is the end effect).
Can you give us a more detailed explanation? Is there a miscommunicationbetween
our DB(Sybase12) and WLS?Hi. It looks to you like it's after you get the connection, but really
it's when the server is
gettng the pool connection. For performance/synchronization reasons we
do a clever
delay: When your code asks for a pool connection we quickly give you
the pool wrapper,
but we delay actually reserving the real underlying DBMS connection until
your first
real need for a connection, at your first JDBC call, such as createStatement()
etc.
It is while waiting for a pool connection long enough for the transaction
coordinator
to have timed you out before you ever get a chance. It's nothing to do
with the
DBMS or even JDBC, I believe. I think the weblogic server either has
too few execute-threads
and/or too few CPU cycles to do the work load.
Okay, so there's a lazy initialization of the connection.
From reading our log I believe our failur is immediate rather
than waiting for 30+ seconds(the default setting) from the DB,
the timeout occurred later as a result. At the time either because the DB Server
is very busy.
Since we are running WLS6.0 we have only one connection pool,
we have defined a max of 150 threads in the pool. While this
is happening the DB Server is being pinned by an overnight job,
but the WLS Server is not busy at all. The DB and WLS resides
on different physical boxes.
We also have a thread dump from the WLS console when we rebooted the server, it
showed that we are hanging on to the thread & jdbc
connections after these exceptions has occurred instead of releasing them, note
"16083"(~4.5 hours) seconds has passed:
142 116222 Retry rollback request for tx: 'transaction=(IdHash=2963855,Name =
[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()],Xid=30643:8f3838f3709bf53d,Status=Rolling
Back. [Reason = Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
begin=16083,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=server),SCInfo[server]=(state=active),properties=({weblogic.jdbc=t3://159.55.158.25:8005,
weblogic.transaction.name=[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()]}))'
Scheduled Trigger
So I would argue this problem actually chewed up resources on the WLS server.
-Yuanhui Liu
>>
>>
Thanks.
-YuanHui Liu
Joseph Weinstein <[email protected]> wrote:
lixin wrote:
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)Hi. This sounds like a JVM thread starvation issue, and/or a server
load
issue. What is
happening is that the transaction is started, and times out beforethe
SSB even gets to
the first JDBC work. I would first verify that the customer is using
the very latest JVM
available for the machine.
Joe Weinstein
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixin -
JDBC-OCI (8.1.6) - Weblogic
Hi,
I am trying to get weblogic 4.5 to connect to an Oracle 8i database.
The database and listener are operating fine, but so far I cannot connect from weblogic.
1) What type is the JDBC-OCI driver for 8.1.6 (supporting JDK 1.2)?
2) Do I need to install the OCI driver as well as the JDBC driver on the weblogic server? If so, where do I get the OCI driver?
Regards,
Ultan
[email protected]Your questions are confusing. You seem to consider OCI Driver and JDBC Driver as 2 versions of drivers, but in reality the former is a type of the latter.
Oracle supplies 2 types of JDBC drivers, i.e., Type II, or the OCI driver, and Type IV, the Thin driver. They are both contained in the classes111 or classes12.zip file. To use the OCI driver, you need to install the Oracle Client Library (OCI library).
To use these drivers with WebLogic, you need to include the path to the classes111.zip file in your weblogic.class.path variable in the startWebLogic.bat or .sh script file, or set it in the Windows Registry.
Eric Ma -
How can i use the weblogic jdbc driver for sqlserver?
hello
i have downloaded and installed the weblogic on my windows2000 server,then i want to use the weblogic jdbc driver for sqlserver2000 outside of the weblogic,as follow:
1 add following string to my classpath environment of the wndows2000: E:\bea\wlserver6.1\lib\mssqlserver4v65.jar
2 then i write a test program as:
import weblogic.jdbc.mssqlserver4.Driver;
import java.sql.*;
public class test{
public static void main(String argv[]){
try{ Class.forName("weblogic.jdbc.mssqlserver4.Driver");
Connection
conn=DriverManager.getConnection"jdbc:weblogic:mssqlserver4:localhost:1433","sa",""); }catch(Exception e){ System.out.println(e.getMessage()); }
4 when i execute it,it throw a exception:
Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/version at weblogic.jdbc.mssqlserver4.TdsStatement.getLicenseStr(TdsStatement.java:2665) at weblogic.jdbc.mssqlserver4.TdsStatement.microsoftLogin(TdsStatement.java:2474) at weblogic.jdbc.mssqlserver4.MicrosoftConnection.beginLogin(MicrosoftConnection.java:42) at weblogic.jdbc.mssqlserver4.TdsConnection.login(TdsConnection.java:57) at weblogic.jdbc.mssqlserver4.MicrosoftConnection.login(MicrosoftConnection.java:53) at weblogic.jdbc.mssqlserver4.BaseConnection.prepareConnection(BaseConnection.java:187) at weblogic.jdbc.mssqlserver4.Driver.newConnection(Driver.java:34) at weblogic.jdbc.mssqlserver4.ConnectDriver.connect(ConnectDriver.java:151) at java.sql.DriverManager.getConnection(DriverManager.java:517) at java.sql.DriverManager.getConnection(DriverManager.java:177) at test.main(test.java:7)
who can help me?thank you!Hi,
Mail me the jar file as I am using Weblogic 6.1 to my email id [email protected]
Else tell me the site from where u have downloaded and i will do the same.
I will test the same and let you know.
Thanks,
Seetesh -
Calling a procedure using JDBC-OCI
When I use setPlsqlIndexTable for calling a procedure using JDBC-OCI
ps.setPlsqlIndexTable(1,str,10,str.length,OracleTypes.VARCHAR,8);
always throw a Exception :
java.sql.SQLException: Non supported character set: oracle-character-set-832
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:171)
at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:135)
at oracle.sql.CHAR.<init>(CHAR.java:133)
at oracle.sql.CHAR.<init>(CHAR.java:157)
at oracle.jdbc.oracore.OracleTypeCHAR.toDatum(OracleTypeCHAR.java:145)
at oracle.jdbc.oracore.OracleType.toDatumArray(OracleType.java:145)
at oracle.jdbc.oracore.OracleTypeCHAR.toDatumArray(OracleTypeCHAR.java:173)
at oracle.jdbc.driver.OraclePreparedStatement.setPlsqlIndexTable(OraclePreparedStatement.java:2622)
When can tell me how to solve it? ThanksI hava resolve this problem, we must add the
class nls_charset12.zip to classpath. -
How to use the Oracle 10g JDBC OCI driver in JBoss ?
Greetings,
I deployed ojdbc14.jar in JBoss and I created an Oracle datasource. I have the following questions:
1. In the datasource descriptor file I have:
<connection-url>jdbc:oracle:oci:@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(SERVICE_NAME=xe)))</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
Is it enough in order to use the Oracle 10g JDBC OCI driver ?
2. After having looked-up the datasource and created a connection, the classe of these objects are org.jboss.resource.adapter.jdbc.WrapperDataSource and, respectivelly, org.jboss.resource.adapter.jdbc.WrappedConnection. How can I have access to oracle.jdbc.oci and oracle.jdbc.pool packages ?
Many thanks in advance,
NicolasHello
We were banging our heads on a similar thing, maybe this will help
We needed to convert the wrapped connection to an OracleConnection so that we could do a proxy switch, but maybe you could apply it to your situation anyway
1-you have to convert the Connection object to an OracleConnection in order to use the method that does the proxy switch
The method to do this is getInnermostDelegate()
Once you call this method, you get a new Connection object that can be cast to an OracleConnection object
See below for the snippet of code
// now switch the user and reselect
if (conn instanceof DelegatingConnection) {
properties.put("PROXY_USER_NAME","peter/peter");
oraConn =((DelegatingConnection)conn).getInnermostDelegate();
if (oraConn == null)
out.println("oraConn is null\n");
((OracleConnection)oraConn).openProxySession(OracleConnection.PROXYTYPE_USER_NAME,properties);
2-you have to put a setting in the xml file in conf/Catalina/localhost that allows you to call the getInnermostDelegate() method
By default, Tomcat does not allow you to call this method, it will always return null
You have to change the xml to allow it to return an object
It seems that WebSphere and Tomcat both frown on vendor-specific methods that do not comply with the JDBC standards, but do allow it
Here is the setting:
<parameter>
<!-- NOTE: This is necessary to enable access to the Oracle connection object -->
<name>accessToUnderlyingConnectionAllowed</name>
<value>true</value>
</parameter>
Note, this setting was also put in the conf/server.xml file
Thanks
Peter -
Hi,
I am using Weblogic 6.1 with Oracle 8.1.7. I configured a TXDataSource as I wanted
to use Container Managed Transaction through a Session Bean.
Connection Pool Settings: -------------------------
Name - myXAPool URL - jdbc:oracle:thin:@myServer:1521:myDb DriverClassname - oracle.jdbc.xa.client.OracleXADataSource
TXDataSource Settings : -----------------------
Name - myXADS
JNDIName - myXADS
PoolName - myXAPool
Everything works fine but once in a while I get the following exception:
java.sql.SQLException: XA error: XAER_RMERR : A resource manager error has occured
in the transaction branch start() failed on resource 'myXAPool' Unexpected error
during start for XAResource 'myXAPool': null
The connection pool size is 30 and the number connections high reached was 5,
which means there are enough connections in the pool available at all time.
It would be really great if you can help me out.
Thanks in Advance, Sudhir.
Hi Slava,
Sorry about that Oracle instance I am using is 8.1.7.
For the XA Driver I am using the one that comes with Weblogic in weblogic.jar.
And my Weblogic version 6.1 Sp3.
Thanks,
Sudhir.
"Slava Imeshev" <[email protected]> wrote:
Hi Sudhir,
Are you using an instance of 8.1.6 or 8.1.7? In the message header you
say
8.1.6.
Regards,
Slava Imeshev
"Sudhir Babu" <[email protected]> wrote in message
news:[email protected]..
Hi,
I am using Weblogic 6.1 with Oracle 8.1.7. I configured a TXDataSourceas
I wanted
to use Container Managed Transaction through a Session Bean.
Connection Pool Settings: -------------------------
Name - myXAPool URL - jdbc:oracle:thin:@myServer:1521:myDb
DriverClassname - oracle.jdbc.xa.client.OracleXADataSource
TXDataSource Settings : -----------------------
Name - myXADS
JNDIName - myXADS
PoolName - myXAPool
Everything works fine but once in a while I get the following exception:
java.sql.SQLException: XA error: XAER_RMERR : A resource manager errorhas
occured
in the transaction branch start() failed on resource 'myXAPool' Unexpectederror
during start for XAResource 'myXAPool': null
The connection pool size is 30 and the number connections high reachedwas
5,
which means there are enough connections in the pool available at alltime.
It would be really great if you can help me out.
Thanks in Advance, Sudhir.
Maybe you are looking for
-
Hi, If SELECT statement has IN in the where clause, does that use the index? For example, SELECT t1 f2 f4 from ztest WHERE fid IN s_id AND doctype IN s_doctype AND year IN s_year . What is t
-
I selected all the emails in a mailbox. Opened a new email, clicked in the body and click edit>append something or other. All the selected emails from the mailbox appeared in the new email. I click print and mail locks up and I have to force quit.
-
Drawing object on the intersections point of 2 lines.
hi guys, im very new in actionscrip , please give me some guidance. i'm doing this project , about 2 lines intersecting each other(the 2 lines are not always on the same position) . i try to find the intersections point using collision detection meth
-
Maximum line length in JTextAreas/Documents ?
Hi there, apparently JTextAreas may not hold text with lines more than 32776 characters (with line length I mean distance between line breaks :-). Is this a documented limitation or did I trap into a bug? (Happened with 1.3.x and 1.4.x, Linux and Win
-
Macbook air logic Board has died two months out of warranty. Is this common?
Initial Diagnosis connected machine to known good power adapter magsafe LED lights up machine does not power up machine makes no signs of powering on removed bottom case machine extremely dirty/dusty mould is starting to grow inside machine removed b