Can I include MQSeires JMS XADataSource and Oracle JDBC XADataSource in one transaction?
When I try to use a XADataSource (using Oracle 8.1.6 XA JDBC driver) to update
a table in onMessage() of a MDB (Message Driven Bean) using container managed
transaction, an exception occured like this:
java.sql.SQLException: ORA-06550: ? 1 ?, ? 14 ???: PLS-00201: ??? 'JAVA_XA.XA_START'
????? ORA-06550: ? 1 ?, ? 8 ???: PL/SQL: Statement ignored
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:738 ) at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja va:1313)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav a:1232)
at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement .java:1353)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:176 0) at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme nt.java:1805)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar edStatement.java:322)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat ement.java:366)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:10 2) at
weblogic.transaction.internal.ServerResourceInfo.start(ServerResource Info.java:994)
at weblogic.transaction.internal.ServerResourceInfo.xaStart(ServerResour ceInfo.java:947)
at weblogic.transaction.internal.ServerResourceInfo.enlist(ServerResourc eInfo.java:206)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se rverTransactionImpl.java:316)
at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:6 51) at
weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator. java:444)
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator. java:379)
at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAl locator.java:369)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j ava:167)
at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(Connecti onPool.java:121)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java: 861)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:7 43) at
weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130) at weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionI mpl.java:71)
at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.j ava:42)
at MDB.onMessage(MDB.java:46) at weblogic.ejb20.internal.MDListener.execute(MDListener.java:221)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:175) at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:640)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:355) java.sql.SQLException:
ORA-06550: ? 1 ?, ? 14 ???: PLS-00201: ??? 'JAVA_XA.XA_START' ????? ORA-06550:
? 1 ?, ? 8 ???: PL/SQL: Statement ignored
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:738 ) at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja va:1313)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav a:1232)
at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement .java:1353)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:176 0) at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme nt.java:1805)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar edStatement.java:322)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat ement.java:366)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:10 2) at
weblogic.jdbc.jta.DataSource.start(DataSource.java:324) at weblogic.transaction.internal.ServerResourceInfo.start(ServerResource
Info.java:994) at weblogic.transaction.internal.ServerResourceInfo.xaStart(ServerResour
ceInfo.java:947) at weblogic.transaction.internal.ServerResourceInfo.enlist(ServerResourc
eInfo.java:206) at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:316) at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:817)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:7 88) at
weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130) at weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionI mpl.java:71)
at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.j ava:42)
at MDB.onMessage(MDB.java:46) at weblogic.ejb20.internal.MDListener.execute(MDListener.java:221)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:175) at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:640)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:355) java.sql.SQLException:
XA error: XAER_RMERR : A resource manager error has occur ed in the transaction
branch start() failed on resource 'jtaXAPool' null at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:822)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:7 88) at
weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130) at weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionI mpl.java:71)
at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.j ava:42)
at MDB.onMessage(MDB.java:46) at weblogic.ejb20.internal.MDListener.execute(MDListener.java:221)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:175) at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:640)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:355)
Does that mean WLS 6.0 SP1 can not include JMS XADataSource and JDBC XADataSource
in one distributed transaction managed by container?
It should work. Check out the documentation on our developer center for
more information. Developer.BEA.com
Michael Girdley
BEA Systems
Learning WebLogic? http://learnweblogic.com
"Sam Ni" <[email protected]> wrote in message
news:[email protected]...
>
> When I try to use a XADataSource (using Oracle 8.1.6 XA JDBC driver) to
update
> a table in onMessage() of a MDB (Message Driven Bean) using container
managed
> transaction, an exception occured like this:
>
> java.sql.SQLException: ORA-06550: ? 1 ?, ? 14 ???: PLS-00201: ???
'JAVA_XA.XA_START'
> ????? ORA-06550: ? 1 ?, ? 8 ???: PL/SQL: Statement ignored
>
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at
oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
> at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542) at
oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
> at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:738 )
at
> oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:1313)
> at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:1232)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement
.java:1353)
> at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:176
0) at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1805)
> at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java:322)
> at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
ement.java:366)
> at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:10
2) at
> weblogic.transaction.internal.ServerResourceInfo.start(ServerResource
Info.java:994)
> at weblogic.transaction.internal.ServerResourceInfo.xaStart(ServerResour
ceInfo.java:947)
> at weblogic.transaction.internal.ServerResourceInfo.enlist(ServerResourc
eInfo.java:206)
> at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:316)
> at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:6
51) at
> weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.
java:444)
> at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.
java:379)
> at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAl
locator.java:369)
> at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:167)
> at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(Connecti
onPool.java:121)
> at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:
861)
> at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:7
43) at
> weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130) at
weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
> at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionI
mpl.java:71)
> at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.j
ava:42)
> at MDB.onMessage(MDB.java:46) at
weblogic.ejb20.internal.MDListener.execute(MDListener.java:221)
> at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:175) at
com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:640)
>
>
> at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:355)
java.sql.SQLException:
> ORA-06550: ? 1 ?, ? 14 ???: PLS-00201: ??? 'JAVA_XA.XA_START' ?????
ORA-06550:
> ? 1 ?, ? 8 ???: PL/SQL: Statement ignored
>
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at
oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
> at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542) at
oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
> at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:738 )
at
> oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:1313)
> at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:1232)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement
.java:1353)
> at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:176
0) at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1805)
> at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java:322)
> at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
ement.java:366)
> at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:10
2) at
> weblogic.jdbc.jta.DataSource.start(DataSource.java:324) at
weblogic.transaction.internal.ServerResourceInfo.start(ServerResource
> Info.java:994) at
weblogic.transaction.internal.ServerResourceInfo.xaStart(ServerResour
> ceInfo.java:947) at
weblogic.transaction.internal.ServerResourceInfo.enlist(ServerResourc
> eInfo.java:206) at
weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
> rverTransactionImpl.java:316) at
weblogic.jdbc.jta.DataSource.enlist(DataSource.java:817)
> at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:7
88) at
> weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130) at
weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
> at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionI
mpl.java:71)
> at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.j
ava:42)
> at MDB.onMessage(MDB.java:46) at
weblogic.ejb20.internal.MDListener.execute(MDListener.java:221)
> at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:175) at
com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:640)
>
>
> at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:355)
java.sql.SQLException:
> XA error: XAER_RMERR : A resource manager error has occur ed in the
transaction
> branch start() failed on resource 'jtaXAPool' null at
weblogic.jdbc.jta.DataSource.enlist(DataSource.java:822)
> at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:7
88) at
> weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130) at
weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
> at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionI
mpl.java:71)
> at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.j
ava:42)
> at MDB.onMessage(MDB.java:46) at
weblogic.ejb20.internal.MDListener.execute(MDListener.java:221)
> at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:175) at
com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:640)
>
>
> at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:355)
>
>
> Does that mean WLS 6.0 SP1 can not include JMS XADataSource and JDBC
XADataSource
> in one distributed transaction managed by container?
>
>
Similar Messages
-
hi !
Can I include a ClickOnce deployment and rest Registry ActiveX dll to register (program created by c #)?
Please answer.hi !
Can I include a ClickOnce deployment and rest Registry ActiveX dll to register (program created by c #)?
Please answer.
Hello,
We could not registry activex dll with clickonce directly, but here is a workaround below.
1. Create Package for that activex dll to registry it to com.
2. Package that MSI to CAB file.
#1,#2 for detailed steps, please refer to the following blog.
How to develop and deploy ActiveX control in C#
3.
Deploying CAB Files Using ClickOnce Deployment
Regards,
Carl
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
I am using oracle as database and weblogic 4.5. I have copied the classes12.zip file in lib directory of weblogic. I am getting the error that oracle.sql.* and oracle.jdbc.driver.* not found when i am importing these packages in a jsp file. what i need to do to import oracle driver packages?I put it in the classpath also.
Please Advice!
Thanks in advance
AnuPamaHi Anupama,
First of all I would be surprised if you would not like to use the connection pooling feature of weblogic (in which case you might not be needing the import the classes directly), and would like to open direct connections to your database. Anyways for doing that I would recommend you to check out the readme doc that ships
along with the jdbc oracle (classes12.zip etc). I am giving an excerpt over here:
These are a few simple things that you should do in your JDBC program:
1. Import the necessary JDBC classes in your programs that use JDBC.
For example:
import java.sql.*;
import java.math.*;
2. Register the Oracle driver before before calling other JDBC APIs.
(This is not needed if you are using the JDBC Server-side Internal
Driver because registration is done automatically in the server.)
To register the Oracle driver, make sure the following statement
is executed at least once in your Java session:
DriverManager.registerDriver(
new oracle.jdbc.driver.OracleDriver());
3. Open a connection to the database with the getConnection call.
Different connection URLs should be used for different JDBC
drivers. The following examples demonstrate the different URLs.
For the JDBC OCI8 Driver:
Connection conn = DriverManager.getConnection(
"jdbc:oracle:oci8:@<database>",
"scott", "tiger");
where <database> is either an entry in tnsnames.ora or a SQL*net
name-value pair.
For the JDBC Thin Driver, or Server-side Thin Driver:
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@<database>",
"scott", "tiger");
where <database> is either a string of the form
<host>:<port>:<sid> or a SQL*net name-value pair.
For the JDBC Server-side Internal Driver:
Connection conn = DriverManager.getConnection(
"jdbc:oracle:kprb:");
Note that the trailing ':' character is necessary. When you use
the Server-side Internal Driver, you always connect to the
database you are executing in. You can also do this:
Connection conn
= new oracle.jdbc.driver.OracleDriver().defaultConnection();
Hope this helps,
Thanks,
Anupama wrote:
I am using oracle as database and weblogic 4.5. I have copied the classes12.zip file in lib directory of weblogic. I am getting the error that oracle.sql.* and oracle.jdbc.driver.* not found when i am importing these packages in a jsp file. what i need to do to import oracle driver packages?I put it in the classpath also.
Please Advice!
Thanks in advance
AnuPama--
Apurb Kumar -
How can I order an iphone 6 and pick it up from one of the apple stores in London??? It doesn't work with reserve and pick up because the 64 gb is never in stock.
Thank you for replying. Yes I deleted the old email address..
-
Kodo 3.4.1 and Oracle JDBC 11.1.0.6?
Hi,
did anybody already try using Kodo 3.4.1 and Oracle JDBC driver 11.1.0.6?
We have been able to use it by specifying:
kodo.jdbc.DBDictionary=oracle(BatchLimit=1000)
but it does not run very smoothly and we get for example the
following exception (but not always).
NestedThrowablesStackTrace:
[migrate-data] java.lang.ArrayIndexOutOfBoundsException: -32193
[migrate-data] at
oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedS
tatement.java:2677) [migrate-data] at
oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedState
ment.java:9270) [migrate-data] at
oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapp
er.java:210) [migrate-data] at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeBatch(DelegatingPre
paredStatement.java:325) [migrate-data] at
com.solarmetric.jdbc.PoolConnection$PoolPreparedStatement.executeBatch(Pool
Connection.java:375) [migrate-data] at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeBatch(DelegatingPre
paredStatement.java:325) [migrate-data] at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeBatch(DelegatingPre
paredStatement.java:325) [migrate-data] at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeBatch(DelegatingPre
paredStatement.java:325)Any hints?
Thanks,
WernerDisabling SQL batching by specifying BatchLimit = 0 solved the
problem temporarlyOf course this is not what we want, anybody else using this configuration?
Werner -
I m trying to import some picture from my iphoto library but element 12 don't show me the iphoto dialog box ,where i choose what i want to import, as I can see on my classroom book and in many tutorial.any one can help please ? thanks
I have the same problem... but the photo library is neither on my iPhone or my Computer!! Please help.. its taking too much space.
-
Hi
I am trying to integrate Siebel 8.1.1. and Oracle SOA 10.1.3.4 using JMS transport. When I use method CheckJNDIContext of Business Service - EAI JMS transport through simulator I get the following message and dont see any instance open/close in SOA process. And there is no entries under "The InitialContext has the following entries" as in the logs. There should be values
Error from the failed instance-
enabling SLL
Created JNDI InitialContext with
java.naming.factory.initial = com.evermind.server.rmi.RMIInitialContextFactory
java.naming.provider.url = opmn:ormi://hostname:6003:oc4j_soa/default
java.naming.security.principal =
java.naming.security.credentials =
java.naming.security.protocol = ssl
The InitialContext has the following entries:
SUCCESSFUL TEST
-- Message from successful instance which has all entries in InitialContest---
enabling SLL
Created JNDI InitialContext with
java.naming.factory.initial = com.evermind.server.rmi.RMIInitialContextFactory
java.naming.provider.url = opmn:ormi://hostname:6003:oc4j_soa/default
java.naming.security.principal =
java.naming.security.credentials =
java.naming.security.protocol = ssl
The InitialContext has the following entries:
jmsrouter_ejb_AdminMgrBean (AdminMgrBean_RemoteHomeProxy_1nca7p1)
ejb (javax.naming.Context)
loc (javax.naming.Context)
jdbc (javax.naming.Context)
OracleASjms (javax.naming.Context)
scheduler (javax.naming.Context)
eis (javax.naming.Context)
SUCCESSFUL TEST
Please help/suggest to resolve the issue.
ThanksI am officially a donut - I went back to check and I hadn't updated the siebel-data-adapter.properties for the siebel-web-determination application. DOH!
All working now - excellent! :) -
Where can i find the api document of Oracle JDBC driver
coz i find if u using stream to retrieve the Oracle LONG data field. Sometime it throwed an IOException (from the oracle.jdbc.driver.OracleInputStream). And i found there is a method in this class named resetLong(). So i wanna get some stuff to read, then i can know how does it work
YiNing,
Did you check this link,
http://help.sap.com/saphelp_nw04/helpdata/en/87/3ef4403ae3db12e10000000a155106/content.htm
Does it help? Also did you look into the Java Docs Section,
https://help.sap.com/javadocs/index.html
Regards
Bhavesh -
My final goal is to have two xa pools pointing to different db's and
have them in the same user transaction and do a 2 phase commit. I
can't get past connecting to a single xa datasource. I have "Grant
Select on DBA_PENDING_TRANSACTIONS to public".
My config.xml snippet:
<JDBCConnectionPool
Name="ModelXaPool"
Targets="WebApp"
URL="jdbc:oracle:thin:@SERVER1:1521:DB"
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
InitialCapacity="2"
MaxCapacity="10"
CapacityIncrement="2"
Properties="user=uid;password=pw"
RefreshMinutes="10"
/>
<JDBCTxDataSource
EnableTwoPhaseCommit="true"
JNDIName="ModelManagerTxDataSource"
Name="ModelManagerTxDataSource"
PoolName="ModelManagerXaPool"
Targets="WebWORKS"
/>
My code snippet:
UserTransaction tx = msgCtx.getUserTransaction();
tx.begin();
java.sql.Connection conn =
(DataSource)ctx.lookup("ModelManagerTxDataSource")).getConnection();
Statement stmt = conn.createStatement();
The connection seems to be gotten just fine. On the createStatement,
I get the following exception.
java.sql.SQLException: Internal error: Cannot obtain XAConnection
Creation of XAConnection for pool ModelXaPool failed after
waitSecs:298
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:772)
at weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130)
at weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
at weblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionImpl.java:71)
at weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.java:42)
Any suggestions/advice?
Thanks,
DaleHi Dale,
What version of Oracle are you using at least 8.1.7 is need to be able to
use Oracle thin driver/XA. Also the JDBCConnectionPool and TxDataSource tags
dont seem to match here. Both need to be targeted on to the same server. And
the name of the pool in TxDataSource need to match the pool you have on the
server.
To setup oracle for XA you need to make sure this script is run on the
server, initjvm.sql (It should be in your oracle installation rdbms scripts)
and then grant select permission on dba_pending_transactions.
Are you able to setup a connection pool with a non-XA driver?
sree
"Dale Bronk" <[email protected]> wrote in message
news:[email protected]...
My final goal is to have two xa pools pointing to different db's and
have them in the same user transaction and do a 2 phase commit. I
can't get past connecting to a single xa datasource. I have "Grant
Select on DBA_PENDING_TRANSACTIONS to public".
My config.xml snippet:
<JDBCConnectionPool
Name="ModelXaPool"
Targets="WebApp"
URL="jdbc:oracle:thin:@SERVER1:1521:DB"
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
InitialCapacity="2"
MaxCapacity="10"
CapacityIncrement="2"
Properties="user=uid;password=pw"
RefreshMinutes="10"
/>
<JDBCTxDataSource
EnableTwoPhaseCommit="true"
JNDIName="ModelManagerTxDataSource"
Name="ModelManagerTxDataSource"
PoolName="ModelManagerXaPool"
Targets="WebWORKS"
/>
My code snippet:
UserTransaction tx = msgCtx.getUserTransaction();
tx.begin();
java.sql.Connection conn =
(DataSource)ctx.lookup("ModelManagerTxDataSource")).getConnection();
Statement stmt = conn.createStatement();
The connection seems to be gotten just fine. On the createStatement,
I get the following exception.
java.sql.SQLException: Internal error: Cannot obtain XAConnection
Creation of XAConnection for pool ModelXaPool failed after
waitSecs:298
atweblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:772)
at weblogic.jdbc.jta.Connection.getXAConn(Connection.java:130)
at weblogic.jdbc.jta.Connection.createStatement(Connection.java:201)
atweblogic.jdbc.rmi.internal.ConnectionImpl.createStatement(ConnectionImpl.jav
a:71)
atweblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.java:42)
>
Any suggestions/advice?
Thanks,
Dale -
Struts and Oracle JDBC extension
hi all,
When I try to use the Oracle JDBC extension to take advantage of the Oracle batch update feature, I got an
exception "org.apache.commons.dbcp.DelegatingPreparedStatement"
It happens when I try to cast a PrepareStatement to OraclePreparedStatement. (It works fine without the cast)
Any idea why?
Here is the code snippet:
ServletContext context = servlet.getServletContext();
DataSource ds = (DataSource) context.getAttribute(Action.DATA_SOURCE_KEY);
try {
Connection conn = ds.getConnection();
String sql = "SELECT username FROM users";
OraclePreparedStatement ps = (OraclePreparedStatement) conn.prepareStatement(sql);
ResultSet rset = ps.executeQuery();
} catch ( Exception e ) {
System.out.println( e.getMessage() );
struts_config.xml:
<data-sources>
<data-source>
<!-- set-property property="driverClass" value="oracle.jdbc.driver.OracleDriver"/ -->
<set-property property="driverClass" value="oracle.jdbc.OracleDriver"/>
<set-property property="url" value="jdbc:oracle:thin:@hostname:1522:db"/>
<set-property property="maxCount" value="5"/>
<set-property property="minCount" value="1"/>
<set-property property="user" value="xxx"/>
<set-property property="password" value="xxx"/>
</data-source>
</data-sources>
Thanks for any help!Hi scsi-boy:
I have no trouble reading a Timestamp from Oracle...it's trying to write or update one (and unfortunately, I have to do as I said to get it done).
you shouldn't have to import the oracle sql package
That's precisely the point -- I am not trying to use any Oracle specific stuff.. It wouldn't be all that difficult for them to do the casting inside of the driver, instead they just add the following comments to their example:
// Writing data to Lobs:
// There are no methods to do this with java.sql.Clob/Blob.
// For oracle.sql.CLOB there is getAsciiOutputStream() to write via
// an ascii stream and getCharacterOutputStream() to write via a
// unicode one, plus putChars() to write a char array and putString()
// to write a String - both at a given position within the Clob. For
// oracle.sql.BLOB there is getBinaryOutputStream() and putBytes().
// There are also oracle.jdbc.driver classes to do similar that
// take oracle.sql.CLOB/BLOB as appropriate, namely:
// OracleBlobOutputStream()
// OracleClobOutputStream()
// OracleClobWriter()
// (Note all three classes have corresponding input/reader classes.)
// Hence to write data to the lobs here it is necessary to cast the
// Clob and Blob to oracle.sql.CLOB and oracle.sql.BLOB respectively
// and use one of the methods listed above. E.g. to append to the
// clob column:
((oracle.sql.CLOB)c_lob).putString( (int)c_lob.length()+1, "\nBye!" );The example can be found at the link shown below (you may have to do a free sign-up to view it):
http://www.experts-exchange.com/Databases/Oracle/Q_20358143.html
;o)
V.V. -
I went on iTunes and the App store today and both of them have somehow changed to be in UK form. The money symbol is different and it shows me whats trending there and not in america, where I live. How can I change the location back to it's original form so I can see whats trending in america and everything else. Please help.
Try going to the bottom of the Featured tab in the App Store app on your phone and tap on your account id, tap on 'View Apple ID' on the popup and log into your account, and then select the Country/Region section and select the US.
-
Hi,
I downloaded and installed Oracles JDBC drivers and tested
them out using the sample programs that Oracle provided. Though
the application I was able to connect and retrieve some rows
without any problem. I then modefied the Java source for the
applet and ran it through Sun's Appletviewer and was able to
retrieve rows. I then tried to run the same applet through IE4
and the applet started okay but I recieved the following:
Loading JDBC driver oracle.jdbc.driver.OracleDriver
Connecting to SMORA1
cannot access "<This was my Oracle host name>"
I'm running the applet of my PC and trying to connect to the
Oracle host. I think I may of just answered my own question.
But why would it work with Appletviewer??
Thanks
Dave
nullDave:
I am facing the same problem but not getting any answer. Could
you let me know what solution did you implement to get it going.
Thanks in advance,
Raj.
David Staelens (guest) wrote:
: Hi,
: I downloaded and installed Oracles JDBC drivers and tested
: them out using the sample programs that Oracle provided.
Though
: the application I was able to connect and retrieve some rows
: without any problem. I then modefied the Java source for the
: applet and ran it through Sun's Appletviewer and was able to
: retrieve rows. I then tried to run the same applet through
IE4
: and the applet started okay but I recieved the following:
: Loading JDBC driver oracle.jdbc.driver.OracleDriver
: Connecting to SMORA1
: cannot access "<This was my Oracle host name>"
: I'm running the applet of my PC and trying to connect to the
: Oracle host. I think I may of just answered my own question.
: But why would it work with Appletviewer??
: Thanks
: Dave
null -
Hi Just had a new laptop - windows 7, and need to transfer all my music and apps from my old one. HOw do I do it easily?
Type "move itunes library" into the Google search bar.
-
Scrap Asset and its sub assets in one transaction code
Please suggest if it is possible to scrap an asset and all its sub assets in one transaction as opposed to scrapping them separately in ABAVN.
regards
RekhaClick on the button Multiple assets and fill in there the main asset and sub numbers. You have to fill them all in. There is no transaction that you can do this with filling in only the main-asset number
-
Delete and insert same Object in one transaction?
Hi all,
Can be possible in one transaction delete and then insert same object into the database?
If I want change PK in some record in DB, then I must delete the Object and then insert new Object (row). And this I want realize in one transaction - Unit of Work.
Is this possible?
Thx advance,
best regards,
KLD
P.S. Sry for my EnglishGenerally not always a good idea, but may be possible. If you are using JPA, you should be able to do a flush() after deleting the object, then re-persist the new one.
For the UnitOfWork API, writeChanges() is the same as flush, but it only allowed to be called once, so you may need to use the RepeatableWriteUnitOfWork, or performDeletesFirst option.
Or just use two separate units of work.
James : http://www.eclipselink.org
Maybe you are looking for
-
HT1766 I finally decided to do that upgrade fpr the IOS 6 on my iphone 4 and now it won't work
I finally decided to uprgrade my iphone for with the ISO 6 (not sure which one in particular) and now it is stuck on the silver apple logo. Iv'e attempted holding the home button and the top button until the apple disappears and reappeared but it is
-
Setting up a HP 4350 laser as a shared printer on a network
I have a HP 4350 printer installed on a server which is a shared printer. I want everyone who uses the shared printer to only have the option of using a private job in stored printing.. I want all other options with stored job tab to be greyed out. I
-
Display goes weird since OS 10.5.6
Everytime I start or restart my display dims to less than 1/3 of its power. I can bring it up to full power with the keyboard and than it works bright again. Any one any idea what's going on?? Thank you.
-
Hello has anybody of you an ABAP Report, that is able to duplicate IDOCs? Regards Mario
-
Hello Experts, The below decribed must be done. Is there somebody faced similar kind of issue. I need some hints how to do that. To Do: (please notice there are 2 Systems R/3 Backend-System and SRM-System) Make Purchase Requisitions from created orde