JDBC for non-relational Databases.

Hi All,
correct me if I am wrong in my understanding,
1. JDBC are a set of specifications (as interfaces etc..) which each
vendor is expected to provide implementation.
2. JDBC is for relationsla databases only (like oracle,MySQL etc..) it
does not take into account the access to non-relational databases.
3. If 2 is true, is there an equivalent of JDBC for non-relational
databases?
TIA.

1. JDBC are a set of specifications (as interfaces etc..) which each
vendor is expected to provide implementation.
Broadly speaking, yes. It doesn't have to be the vendor that provides the implementation, and an ODBC driver (to be used via the JdbcOdbc bridge) is adequate if a native JDBC driver is not available.
2. JDBC is for relationsla databases only (like oracle,MySQL etc..) it
does not take into account the access to non-relational databases.
It expects tabular results. Aside from that I don't think it mandates anything about the design of the underlying system. Certainly it's entirely agnostic about syntactic issues.
For example, it can talk to Excel spreadsheets, via the JdbcOdbc bridge, and Excel is by no stretch of the imagination a relational database. IMS is not a relational database, but that has a JDBC driver.
3. If 2 is true, is there an equivalent of JDBC for non-relational
databases?
2 is not true, and I'm not aware of any "non relational" database connection standard, probably for this very reason. There may well be vendor specific tools for talking to some systems.

Similar Messages

  • Jdeveloper Team RE Jdeveloper 9.0.3 For Non-Oracle Databases

    I see that support for non-Oracle databases and Third-Party JDBC drivers is very improved. However, I have tried to use the SAPDb JDBC driver and the BC4J tester and generated Swing clients all display greyed so that no updates are possible. This appears to be a bug since Jbuilder works fine with this driver. However, I think Jbuilder's Express dataset and commit philosophy is really bad. Any commitments as to when this will be fixed?

    Yes, I examined the attribute settings and manually adjusted them in the entities and views. They are now updateable. Using Jdeveloper with SAPDB would be very tedious. Jdeveloper did not recognize foreign key constrains, primary keys, nor that attributes were updateable.
    Is there a way to include SAPDB in the testing? It is trivial to install and run and would make Jdeveloper a more robust tool. I do not like Jbuilder's approach to master-detail client screens and would recommend using Jdeveloper for this type of work if it could handle more databases like SapDb.

  • Can Jdeveloper Be Used For Non-Oracle Databases

    I have been trying to evaluate Jdeveloper 9i and Jbuilder 7 Enterprise for Swing database development. I am particularly interested in the productivity enhancements such as BC4J and Jclient. The underlying database might be Oracle, SapDb (excellent, easy to use, and free), SQLServer, etc.
    I evaluated Jbuilder Enterprise tools and it worked flawlessly with SapDb. This emphasized using their DataExpress and DbSwing components which provide many useful capabilities similar to BC4j and Jclient. It also involved using their DBPilot tool which allows browsing similar to that provided via a Jdeveloper connection.
    I tried to use Jdeveloper for the same SapDB and it is essentially non-functional. I followed the instructions for using a non-default driver and tried to define a connection. It behaved inconsistently: often saying no suitable driver can be found and yet when you edit the connection and test without making any changes, it works. If you try to establish a BC4J definition, it is very inconsistent and fails to recognize important details as foreign keys. Even if you define a ViewLink manually, it still does not work properly if you attempt to define a Master-Detail Jclient form. As I have stated, all these types of capabilities worked flawlessly in their Jbuilder equivalent. Furthermore, I really like the fact that Jbuilder gives many of BC4Js benefits without needing a BC4J J2EE container.
    Has anyone had real success using Jdeveloper's advanced features to develop for non-Oracle databases and if so, how did you get around these types of problems?

    Hi,
    generally, SCAN can be used for 10g databases and you discovered the first half: for 10g databases you will have to modify the REMOTE_LISTENER entry for each 10g database instance to point to the SCAN listeners (as opposed to pointing to the remote local listeners, which is the default in 10g). You could even have the databases registers themselves with SCAN and the remote listeners, if you wanted to... It's more or less a matter of configuration. But for simplification reasons, I will stick to the case where you have your 10g databases register with the SCAN listeners only.
    Now the other half is the client and the client configuration. An 11g Rel. 2 client configured for RAC would have a TNSNAMES entry that has only one address line for the RAC databases. The host entry in this one address line should point to the SCAN (the SCAN name is ideally resolved in DNS). A 10g client configured for RAC would have as many address lines in the TNSNAMES as you have nodes in the cluster.
    The 10g client SCAN configuration would then be in the middle so to speak: You would have 3 address lines in your TNSNAMES, in which each host entry would resolve to one SCAN address (I assume you will use the recommended default of 3 SCAN IPs). If you choose, you can have a name resolution for each of your SCAN IPs, but this would not be required. Now, why would you do it this way? Because this configuration will always work and does not make you dependent on certain functionality that your DNS server may or may not offer.
    For the remaining questions: SCAN is a DNS entry resolving one name to more than one (typically 3) IP addresses. OID is short for Oracle Internet Directory, which is a complete LDAP server. And you are right that there is no document how to configure 10g clients for SCAN from Oracle yet. However, there is a quite good document on SCAN on otn.oracle.com/rac, but I am sure you are aware of it already.
    Hope that helps. Thanks,
    Markus

  • Pagination support for non-Oracle databases?

    Hi,
    I just read this thread (Pagination Support on pagination support. Is there any way to get pagination with non-Oracle databases? We are using an IBM iSeries / AS/400 DB2 database right now, and we're planning to use some local lightweight database in the near future as well (probably Cloudscape/Derby or "IBM Everyplace database".)
    We currently use code like this:
    String sql = "SELECT art FROM Artikel art" +
                /* dynamically generated where statement is added here */
                + "ORDER BY art.artikelNummer";
    Query q = em.createQuery(sql);
    q.setFirstResult(firstResult);
    q.setMaxResults(maxResults);If I look in the TopLink logs, I see queries like this:
    SELECT ARTNR, ARALT, ARAFJ, ARXII, ARAVJ, ARXIV, ARANJ, AHGCD, ARNVJ, ARCRJ, ARARK, ARFKJ, ARTNK, ARGP1, ASGCD, ARGP2, ARPR1, ARGP3, ARPR2, AREX1, ARPR3, AREX2, ARPR4, AREX3, ARASA, ARINA, ASSCD, ARIA1, ARBAN, ARIN1, ARBAV, ARIA2, ARBAK, ARIN2, ARCES, ARIA3, ARCDT, ARIN3, ARCRE, ARIA4, ARCWK, ARIN4, ARHBH, ARIA5, ARDFA, ARIN5, ARDFG, ARIA6, ARDOS, ARIN6, AREPW, ARINN, ARFOD, ARIAS, ARFOE, ARINS, ARFOF, ARNAB, ARFOI, ARNIB, ARFON, ARNIA, ARFOS, ARNN1, ARFTA, ARNA2, ARVIV, ARNO2, ARGAP, ARNN3, ARGPT, ARNA4, ARGPD, ARNO4, ARGPA, ARNN5, ARGPO, ARNA6, ARHIS, ARNN6, ARISP, ARNIO, ARKHM, ARNNS, MAGCD, AROVJ, MTGCD, ARPL1, ARMXM, ARPL2, MRKCD, ARPL3, ARMVR, ARVKJ, ARMIM, ARV12, ARMDT, ARVVJ, ARMTE, AR#VR, ARMTU, ARZLS, ARMTM, ARIAT, ARMWK, ARAVS, MPCCD, ARNVS, ARBTW, ARFJS, ARXI2, ARG2S, ARXI3, ARE1S, ARXI4, ARE3S, ARXI6, ARIB1, ARXI1, ARIB2, ARXI5, ARIB3, AROPI, ARIB4, ARPRV, ARIB5, SZGCD, ARIB6, ARSPC, ARINO, ARSMF, ARIOS, VEAAN, ARNIS, ARSYN, ARNO1, ARVR1, ARNA3, ARV1S, ARNN4, ARVR2, ARNO5, ARV2S, ARNIN, ARVR3, ARNOS, ARV3S, ARP1S, ARTFA, ARP3S, ARTFG, ARS12, ARUVC, ARZLD, ARUCW, ARAJS, ARBKV, ARCJS, ARVVI, ARG3S, ARVVP, ARINB, VPOCD, ARIO2, VPECD, ARIO4, ARVIH, ARIO6, ARVHG, ARNBS, ARVRW, ARNN2, ARVPR, ARNA5, ARVVR, ARNAS, ARVVS, ARP2S, ARVV1, ARSVV, ARZK1, ARNJS, ARNA1, ARNO3, ARIO1, ARNO6, ARIO5, AROJS, ARE2S, ARVJS, ARIBS, ARIAD, ARIO3, ARG1S FROM ART WHERE ((((ARUVC = 'N') AND (ARHIS = 'N')) AND (ASGCD = 7)) AND (AHGCD = 15)) ORDER BY ARTNR ASC
    (Yeah, I know we have too much columns in the table...)
    So, no pagination in the query. As you can see, we have a mechanism in place to dynamically generate a where clause. This is because the user can set filters. The problem is, if our user sets a filter that causes the result set to be significantly smaller, the performance is way better than when he sets no filter at all. We suppose this is because the whole result set is sent to TopLink, regardless of the values of firstResult and maxResults.
    We are using TopLink Essentials 2.1-10, by the way.
    Message was edited by:
    Bart Kummel

    Hi all,
    I'm trying to subclass <tt>DatabasePlatform</tt> to add pagination support for the AS/400 DB2 database of my customer. To be fair, it is not going very well so far.
    The first problem is, the query Chris found by googling (Re: Pagination support for non-Oracle databases?), does not work for AS/400s version of DB2. In fact, although it is called "DB2", the database on the AS/400 system is a whole other database than the "normal" DB2 database that runs on Windows and *nix. The AS/400 DB2 simply does not have a "ROW_NEXT" function.
    Another option would be to use the <b>row_number() over()</b> mehtod. But, as can be read here, this function is only available from version V5R4 of OS/400. And guess what? We're stuck on V5R3 at this client. (We cannot upgrade, because there's an application in use that's written in Delphi and IBM dropped the Delphi binding from V5R4...)
    So I pretty much ran out of options. On the mailing list I linked to above, someone mentions the option to make a sort of stored procedure that generates a row count number. An example of how to do this can be found here. I implemented it, and ended up with this code:
    package com.myclientsname.persistence;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import org.eclipse.persistence.expressions.ExpressionBuilder;
    import org.eclipse.persistence.internal.databaseaccess.DatabaseCall;
    import org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter;
    import org.eclipse.persistence.internal.expressions.SQLSelectStatement;
    import org.eclipse.persistence.internal.sessions.AbstractSession;
    import org.eclipse.persistence.logging.SessionLog;
    import org.eclipse.persistence.platform.database.DatabasePlatform;
    import org.eclipse.persistence.sessions.SessionProfiler;
    public class AS400Platform extends DatabasePlatform {
        private static final long serialVersionUID = 0L;
        public AS400Platform(){
             super();
             super.setShouldBindAllParameters(false);
        public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) {
            int max = 0;
            int firstRow = 0;
            if (statement.getQuery()!=null){
                max = statement.getQuery().getMaxRows();
                firstRow = statement.getQuery().getFirstResult();
            if ( !(max>0) && !(firstRow>0) ){
                super.printSQLSelectStatement(call, printer,statement);
                return;
            } else {
                statement.setUseUniqueFieldAliases(true);
                ExpressionBuilder builder = new ExpressionBuilder();
                statement.addField(builder.getField("COUNTER() AS CNTR"));
                printer.printString("SELECT * FROM (");
                call.setFields(statement.printSQL(printer));
                printer.printString(") AS R WHERE R.CNTR >= ");
                printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD);
                if ( max > 0 ){
                    // Use of binding parameters is not allowed here, so use
                    // String concatenation instead...
                    printer.printString(" FETCH FIRST " + max + " ROWS ONLY");
            call.setIgnoreFirstRowMaxResultsSettings(true);
        public boolean wasFailureCommunicationBased(SQLException exception, Connection connection, AbstractSession sessionForProfile){
            if (connection == null || this.pingSQL == null){
                //Without a connection we are  unable to determine what caused the error so return false.
                //The only case where connection will be null should be External Connection Pooling so
                //returning false is ok as there is no connection management requirement
                    //If there is no ping sql then we can not perform the ping.
                return false;
            PreparedStatement statement = null;
            try{
                sessionForProfile.startOperationProfile(SessionProfiler.ConnectionPing);
                if (sessionForProfile.shouldLog(SessionLog.FINE, SessionLog.SQL)) {// Avoid printing if no logging required.
                     sessionForProfile.log(SessionLog.FINE, SessionLog.SQL, getPingSQL(), (Object[])null, null, false);
                statement = connection.prepareStatement(getPingSQL());
                ResultSet result = statement.executeQuery();
                result.close();
                statement.close();
            }catch (SQLException ex){
                try{
                    // Had to add this check because of NullPointerExceptions
                    // (maybe a bug?)
                    if(statement != null){
                        //try to close statement again in case the query or result.close() caused an exception.
                        statement.close();
                } catch (SQLException exception2) {
                    //ignore;
                return true;
            }finally{
                sessionForProfile.endOperationProfile(SessionProfiler.ConnectionPing);
            return false;
    }(As you can see, I had to override the <tt>wasFailureCommunicationBased()</tt> method as well, due to some unexpected NPE's. (A bug, perhaps?))
    This code does work. However, the performance is not very well. The first page comes relatively fast, but as you browse further in the table, each page comes slower. I assume this is because the counter() method has to be evaluated for each row in the table.
    I have to get the performance better and constant. Does anyone have an idea how to optimize this further?
    Best regards,
    Bart Kummel

  • Scripted JDBC Adapter For Non Standard Database Types

    I am looking to connect through JDBC to a UNIDATA database. I have place the jdbc driver in the WEB-INF/lib directory and rebooted the application server. When I try to create the resource and test the connection with the proper information (user, password, url, host, port, etc), I get a null pointer. I'm assuming the Database Type is causing an issue. Is there a way to get around this?

    I am able to do the recon now. I had to upload the getUser script also. Once i did that I was able to get users linked into IDM properly.

  • Can SCAN be used for non 11gR2 databases ?

    I am in the processes of database consolidation phase, where in I am consolidating 15 server to a 6 node single Grid for RAC , non -RAC & RAC one node.
    I have non -RAC standalone database on NFS mount , visible on all the 6 nodes , idea is to be able to start the db from any node I like for maintenance which I can do with RAC & RAC ONE NODE.
    I am planning to run SCAN on 3 node , but the question is, can I use SCAN listener for all the databases ?.
    Currently started with a 2 node cluster where I have 11gR2 and couple of RAC one nodes and a 10g rac .
    I am able to point to scan LISTENER and able to connect to 10g db , to me SCAN looks very pomissing for our kind of environment where db's can run on any node with out impacting client changes.
    Before I present this to the management which I am planning to do This Thursday ( big day for me as I am projecting to save quite a bit of money ).
    I don't want to push some thing that's not going to work , even thoug I can prove it now that it works.
    And more importantly I have not see a document in google or ORACLE support that says I can nor a sign that any one using for non 11gR2.
    How is this SCAN compared to OID or SUN OPEN DS ?

    Hi,
    generally, SCAN can be used for 10g databases and you discovered the first half: for 10g databases you will have to modify the REMOTE_LISTENER entry for each 10g database instance to point to the SCAN listeners (as opposed to pointing to the remote local listeners, which is the default in 10g). You could even have the databases registers themselves with SCAN and the remote listeners, if you wanted to... It's more or less a matter of configuration. But for simplification reasons, I will stick to the case where you have your 10g databases register with the SCAN listeners only.
    Now the other half is the client and the client configuration. An 11g Rel. 2 client configured for RAC would have a TNSNAMES entry that has only one address line for the RAC databases. The host entry in this one address line should point to the SCAN (the SCAN name is ideally resolved in DNS). A 10g client configured for RAC would have as many address lines in the TNSNAMES as you have nodes in the cluster.
    The 10g client SCAN configuration would then be in the middle so to speak: You would have 3 address lines in your TNSNAMES, in which each host entry would resolve to one SCAN address (I assume you will use the recommended default of 3 SCAN IPs). If you choose, you can have a name resolution for each of your SCAN IPs, but this would not be required. Now, why would you do it this way? Because this configuration will always work and does not make you dependent on certain functionality that your DNS server may or may not offer.
    For the remaining questions: SCAN is a DNS entry resolving one name to more than one (typically 3) IP addresses. OID is short for Oracle Internet Directory, which is a complete LDAP server. And you are right that there is no document how to configure 10g clients for SCAN from Oracle yet. However, there is a quite good document on SCAN on otn.oracle.com/rac, but I am sure you are aware of it already.
    Hope that helps. Thanks,
    Markus

  • GLOBAL VARIABLES FOR NON-ORACLE DATABASE

    What is the alternative of global variables in Form 5.0 when using non-oracle databases. I know one way is passing parameters, is there any other way? I have few variables which need to be global in my application.
    Thank you
    null

    There is no other way.. you have to use either Global variables or parameter lists to pass values from one form to another form.. With in the form you can always use null canvas item to store and pass values in different program units or triggers..
    have a nice day
    Suresh

  • Dynamic Selection for non-logical database

    How to read the dynamic selections information to a table that is not in logical database for ex. : BSAD.
    Currently, i'm reading from the function module 'RS_REFRESH_FROM_DYNAMICAL_SEL'. The value for the fields are read one by one...........totalling to thousands of codes.
    Does anyone noe a shorter way of reading it ?
    Please give sme guidance. Thank you.

    Hi Mr Anthony,
    I have a report using logical database. However, the logical database used does not contain a table, BSEG, which i need to access.
    I understand that for tables which are not in the logical database, I cannot use the "GET <tablename>" in the "START_OF_SELECTION" event.
    Please advise on how to use the "SELECT" statement for the BSEG table with constraints from the dynamic selections. Thank you

  • Learning path for non-supported Database.

    I would like to start converting some existant clients to having a flex Interface,
    The problem is, that the database is Alpha Five, which I can find no documentation on.
    Is there any generic documentation for alternative databases, and how do should I go about getting started on this.

    This link may be useful:
    http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_2.html

  • Prevent Confirmation for non-related users

    Hi Experts:
    We are using SRM 7 (classic scenario), ECC6.
    The user creates conformation in SRM.
    Our issue is that, any user can create confirmation for any PO even if not related to his SC.  If the user knows the PO no., he can do create confirmation as follows:
    Under Purchasing tab ==> Purchasing ==>  Services ==> Create documents ==> confirmation.
    My question:
    1. How to prevent user from other department to create confirmation for PO not related to his SC?
    2.   How to allow users from the same deprtemnet to creat confirmation for thier own departments, so that in case of absent of the SC creator, his collegue can create conformation.
    Thanks

    Hi Hoasheq,
    There are two possible approaches:
    1. Implement and enhance Process Controlled Workflow for Confirmation document via BRF (no developments required, higher flexibility). Ensuring that confirmations created from different department are automatically rejected or maybe even require (more) approval.
    2. Implement code in DOC_CHECK_BADI to ensure your below requirement, discuss with your ABAP developer.
    Kind regards,
    Tim

  • ADF with non Oracle databases?

    HI all,
    I would like to know, if there are people using ADF but without Oracle database. We are negotiating a new project, and I would IIke to develop it with ADF, but database will be Firebird or Postgres.
    I know its possible, but Im searching experiences of using ADF mainly with other databases, and if its worth for this kind of project, or otherwise,if there are so many "changes" not using Oracle db.
    Regards.

    http://docs.oracle.com/cd/E29049_01/web.1112/e16182/bcintro.htm#sm0063
    Some features are not supported for non-Oracle databases.
    http://www.oracle.com/technetwork/developer-tools/jdev/multidatabaseapp-085183.html
    Information about non-Oracle database connections appears in error dialog (8943379)
    http://www.oracle.com/technetwork/developer-tools/jdev/knownissues-097654.html

  • CURRENT_TIME and non-Oracle Database

    Folks !
    When I use CURRENT_TIME in JPA named query, TopLink (Essentials) translates it into a "sysdate" function - this doesn't work on non-Oracle database like Postgres.
    How do you get Toplink to substitute correct function for non-Oracle Database ?
    thanks,
    -Sanjay

    I set following in my persistence.xml:
    <property name="toplink.target-database" value="PostgreSQL" />
    Still no luck.

  • Configuration Managment Pack for Non Oracle Systems (new)

    Hi ,
    There is a pack called "Configuration Management" for the database. This pack manage hardware , software , updates, patches, etc for host that have installed any Oracle Software.
    Now, in EM Release 2 there is a new pack "Configuration Managment Pack for Non Oracle Systems" wich basically will allow me to the same but without the requirement to have any Oracle software installed.
    The question is : Where can i find a white paper about it? i been looking around and there is only mentions of the product, but not extra info. I know is out already 3k p/processor..
    Any ideas?
    Sergio Benavides

    Found this dated Oct 2005
    (Note the "priced in Advance of Availability" piece)
    Standalone Managers
    Configuration Management Pack for Non-Oracle Systems (priced in Advance of Availability) 2.375 522,59 Per Processor -
    Provisioning Pack (priced in Advance of Availability) 2.375 522,59 Per Processor -
    Service Level Management Pack (priced in Advance of Availability) 79 17,42 Test -
    (Must license with Beacon Plus Test pricing) 2.375 522,59 Beacon -
    System Monitoring Plug-in for Hosts (priced in Advance of Availability) 1.188 261,29 Per Processor -
    System Monitoring Plug-in for Non Oracle Databases (priced in Advance of Availability) 1.188 261,29 Per Processor -
    System Monitoring Plug-in for Non Oracle Middleware (priced in Advance of Availability)
    25 1.188 261,29 Per Processor -
    System Monitoring Plug-in for Network Devices (priced in Advance of Availability)
    26 1.188 261,29 Per Network Device -
    System Monitoring Plug-in for Storage (priced in Advance of Availability)
    27

  • Can a non-RAC database use SCAN ?

    I have a 4 node 11gR2 cluster which has all different kinds of versions ( 10g ,11gR1 & 11gR2 ) on both RAC & NON RAC .
    I know for sure that I can use SCAN for non 11gR2 databases for RAC databases .
    For standalone db's It seems like it is working intermitently but is this supported ? the reason why I ask is there is no documentation on how to configure or troubleshoot for non-RAC using SCAN .
    Appreciate your help
    Ravi

    I was trying to find some information about the issue, but i think SCAN is really designed for RAC databases.
    You don't really need to use the SCAN for what you just described:
    you can update the client tnanames with the vip addresses of all nodes with FAILOVER = ON
    Example:
    (DESCRIPTION=
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=node2-vip)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=node3-vip)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=node4-vip)(PORT=1521))
    (FAILOVER = ON)
    (CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME=DB.WORLD))
    However, you can try this (i never tried it, but i think it should work):
    - See the document http://download.oracle.com/docs/cd/E11882_01/install.112/e10813/undrstnd.htm#BEICFAIC
    +... If you do not set LOCAL_LISTENER, then the Database Agent automatically keeps the database associated with the Grid home's node listener updated...+
    So don't set the LOCAL_LISTENER in your db.
    - Update the client tnsnames with the SCAN if the version of the database is 11.2.0.1
    - Try to see if it works fine
    - Move your db to another node and try again

  • JCA / JDBC Configured for non-XA Attempting XA Transaction Commit

    I am attempting to create simple BPEL SOA composites in SOA 11.1.1.5 that use a DbAdapter to execute a stored procedure in an 11g database. The database task being performed only involves a single database and does not require transaction support. I have carefully stepped through the creation of the DataSource and JCA pointing through the DbAdapter to the JDBC DataSource so XA transaction support is disabled, the JCA pool sets the transaction mode to "No transaction" and the JCA pool uses the dataSource value to point to the JNDI name of the JDBC pool rather than the xADataSource value.
    Visually,
    DataSource definition:
    name = jdbc/myserviceDataSource
    driver = oracle.jdbc.xa.client.OracleXADataSource
    url = jdbc:oracle:thin:@mydbhost.myfirm.com:1521:GENERIC
    use XA DataSource = unchecked
    set XA timeout = unchecked
    Keep XA connection until transaction complete = checked
    keep connection after local transaction = checked
    JCA definition:
    name = eis/DB/myserviceDataSource
    dataSourceName = jdbc/myserviceDataSource
    xADataSourceName = (blank)
    platform class name = org.eclipse.persistence.platform.database.Oracle10Platform
    Transaction | Transaction Support: no transaction
    This configuration works on one sandbox server and I got it working in a second sandbox server. However, after deleting the JDBC and JCA pools to go through the process one more time to document the procedure on the second server, I am unable to get the configuration working again. The WebLogic domain appears to be resurrecting portions of an old configuration that still references the JNDI name of the JDBC pool in the xADataSourceName parameter. I have unpacked the DbAdapter.rar archive for the DbAdapter and verified the contents of the ./META-INF/weblogic-ra.xml file don't use the xADataSouceName parameter. The Deployment Plan for the DbAdapter (named DbAdapterPlan.xml in $SOA_HOME/soa/connectors ) also explicitly configures the JCA pool using the dataSourceName value leaving the xADataSourceName value blank.
    However, executing the SOA service using this JCA connection results in this error:
    java.sql.SQLException: Cannot call Connection.commit in distributed transaction.
    Again, I know the theoretical answer to this question is to disable transactions in the JCA and JDBC configurations and don't use the xADataSourceName element of the JCA configuration to point to the JDBC pool. However, after validating those elements and restarting the pools or performing an Update on the DbAdapter deployment, WebLogic seems to still create connections through the JDBC pool with transactions enabled.
    Any suggestions?
    Should I just completely undeploy the DbAdapter and redeploy it from the SOA binary installation directory? These are just lab machines right now so that's obviously not a good long term answer for production use but may help start over with refining a better procedure for doing this.

    You should use a non-xa driver for your data source...
    From the weblogic docs...
    Configure Transaction Options
    When you configure a JDBC data source using the Administration Console, WebLogic Server automatically selects specific transaction options based on the type of JDBC driver:
    For XA drivers, the system automatically selects the Two-Phase Commit protocol for global transaction processing.
    For non-XA drivers, local transactions are supported by definition, and WebLogic Server offers the following options ...
    http://docs.oracle.com/cd/E23943_01/web.1111/e13737/jdbc_datasources.htm#autoId8
    Cheers,
    Vlad

Maybe you are looking for

  • HP LaserJet Printer Network Replacement for AppleTalk

    Have found the fix for making the HP LaserJet 2100 TN work on an Ethernet network with Snow Leopard OS. The key was finding the address of the LaserJet on the network. This was done by holding down the two buttons on the top of the printer simultaneo

  • Add total row with a webservice

    Hi there, Im trying to update a list view to add the totals to a column subtotal. Im following the instructions given on Webservice Page When check the response of the webservice I'm not seeing the aggregation response and the total row is not being

  • Missing grant with full export/full import.

    We have the following problem which is unexplained: Using Oracle 9.0.1.4 we full export a database and we import it in full mode in another database which is also running Oracle 9.0.1.4. The database has 1 application schema which owns a lot of PL/SQ

  • JavaScript in ADF forms

     

  • Can Ical display a picture for a specific event?

    Hello I was wondering if it is possible to display a picture for a specific event in ICal: For exemple if tomorrow it is someone birthday, I will like to see a picture of his face on my Ical I saw that on someone facebook I think it is called itoday