I got past the original problem by using a non-transactional data source and another problem (the J2EEStore class was pretending "java:comp/env" to the beginning of the data source name) and yet another one that was a result of the J2EEStore not creating the tables (the "how-to" for JDBC indicates that it's done for you, the "how-to" for J2EE does not and it really didn't). I made the getDatabaseCreateStatements method of JDBCDescriptorStore public and got the commands from there. Then, those statements failed because the varchar field sizes indicated in the Slide documentation (3200) is not what is in the code (65536).
Am I breaking new ground here (WebLogic/J2EE/Oracle)? I find it hard to believe that no one, if I trust the searches of the mailing list archives, has run into these problems. Has anyone included Slide in a commercially viable product that isn't using only Apache sub-projects to support it? Thanks Joe -----Original Message----- From: Joseph Carew Sent: Tuesday, February 25, 2003 08:58 To: '[EMAIL PROTECTED]' Subject: J2EE Store and transactions I set up Slide and WebLogic 6.1 a couple of weeks ago with minimal authentication issues. I've got a newer build of Slide now and am getting this error. I'm using native Oracle 9i drivers and I've included my connection pool and data source xml. There doesn't seem to be any support for the SupportsLocalTransaction attribute (you'll see I added it with no effect) in the connection pool setup. 25 Feb 2003 08:42:39 - slidestore.j2ee.J2EEDescriptorsStore - ERROR - java.sql.SQLException: SQL ope rations are not allowed with no global transaction by default for XA drivers. If the XA driver suppo rts performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLo calTransaction" JDBC connection pool property to true. In this case, also remember to complete the l ocal transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAExc eption may result. To complete a local transaction, you can either set auto commit to true or call C onnection.commit() or Connection.rollback(). java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA d rivers. If the XA driver supports performing SQL operations with no global transaction, explicitly a llow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, a lso remember to complete the local transaction before using the connection again for global transact ion, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). at weblogic.jdbc.jta.Statement.checkIfLocalTxSupported(Statement.java:106) at weblogic.jdbc.jta.PreparedStatement.executeQuery(PreparedStatement.java:61) at weblogic.jdbc.rmi.internal.PreparedStatementImpl.executeQuery(PreparedStatem entImpl.java: 56) at weblogic.jdbc.rmi.SerialPreparedStatement.executeQuery(SerialPreparedStateme nt.java:42) at slidestore.j2ee.J2EEDescriptorsStore.retrieveObject(J2EEDescriptorsStore.jav a:198) at org.apache.slide.store.StandardStore.retrieveObject(StandardStore.java:171) at org.apache.slide.common.NamespaceConfig.getActionNode(NamespaceConfig.java:1 106) at org.apache.slide.common.NamespaceConfig.initializeNamespaceConfig(NamespaceC onfig.java:59 6) at org.apache.slide.common.Namespace.loadConfiguration(Namespace.java:888) at org.apache.slide.common.Domain.initNamespace(Domain.java:864) at org.apache.slide.common.Domain.init(Domain.java:478) at org.apache.slide.common.Domain.init(Domain.java:412) at org.apache.slide.common.Domain.init(Domain.java:375) at org.apache.slide.webdav.WebdavServlet.init(WebdavServlet.java:286) at javax.servlet.GenericServlet.init(GenericServlet.java:258) at org.apache.slide.webdav.WebdavServlet.init(WebdavServlet.java:228) at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java :731) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.ja va:658) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav a:603) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC ontext.java:2 360) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServlet Context.java: 2301) at weblogic.servlet.internal.HttpServer.preloadServlets(HttpServer.java:558) at weblogic.servlet.internal.WebService.preloadServlets(WebService.java:450) at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:49) at java.lang.Thread.run(Thread.java:479) The relevant elements from config.xml: <JDBCConnectionPool CapacityIncrement="5" DriverName="oracle.jdbc.pool.OracleConnectionPoolDataSource" InitialCapacity="5" MaxCapacity="500" Name="realm1" Properties="user=icare75;password=icare75;dll=ocijdbc9;protocol=oci" Targets="myserver" SupportsLocalTransaction="true" URL="jdbc:oracle:oci:@kanaebiz"/> <JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="KANA/jdbc/realm1" Name="realm1" PoolName="realm1" Targets="myserver"/> And the Domain.xml: <store name="j2ee"> <nodestore classname="slidestore.j2ee.J2EEDescriptorsStore"> <parameter name="datasource">KANA/jdbc/realm1</parameter> </nodestore> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]