Issue in ESB Database Adapter

hi
I have a requirement where the database adapter has to poll for a particular status like NOT STARTED in table and
based on the status change it should trigger a service asynchronously and then it should immediately update the
status as STARTED.
The configuration steps done in the wizard:
Step 3 - Poll for New or Changed records in a Table
Step 7 - we selected the operation to perform after the data is read from the database, and Update the Field in the table
Step - 8 we Selected the Logical Field as table Column Status and
Read Value: STARTED and Unread Value : NOT STARTED
Database Rows per Transaction is Unlimited and also delay commit, Distributed Polling and Poll for child Updates are
not selected.
The database adapter is not stable at some point of time, it is not updating the status from NOT STARTED to
STARTED after invoking the service asynchronously. Hence the whole process is repeating after some
time interval because of the status remaining as NOT STARTED.
Thanks

Hi,
No it is not a bug, I think. If you created your query by choosing from imported tables/views and related those using the wizard, the only way to change them is to re-import the tables and basically redefine your database adapter.
It's a pity, but that's how it is (also in 10.1.2 I saw recently).
Regards,
Martien

Similar Messages

  • Null/Empty Strings use in ESB Database Adapter

    Hi
    I'm trying to use a database adapter to execute an update on a table with a composite primary key; one of the primary key columns sometimes contains an empty string, however whenever I try to call the adapter, it always converts this to a null value. Is there an easy way to force the adapter to use an empty string instead of a null?
    Thanks.

    the idea here is to execute the dbms statement, or the setpolicycontext statement in a db session, and being able to execute the next sql statement in the same db session.
    This is possible with consecutive database adapters sharing the same db session.
    and two db adapters sharing the same db session is possible, if you make sure that the bpel is participating in the db transaction which can be made possible via xa db connections.
    Hope this helps,
    Write back in case you need more info.

  • How to include a response element in the ESB database adapter.

    hi,
    i am using the dbadapter to insert the data into the table successfully.
    The problem is when i am using a db adapter it doesnot include a response element in its wsdl.I want to send a response to the client as and when the data got inserted from the dbadapter for that transaction.
    i tried using the pl/sql procedure with a out parameter which returns the response but the problem is the pl/sql is called by adapter only once though i am using for each constructor.
    i tried to modify the xsd generated by the dbadapter by including the response element,but the xsd is not getting parsed and throwing error.
    how to overcome this problem and send a immediate response to the client as and when the adapter inserts the data into oracle?
    thanks in advance.

    Although not the cleanest solution, but can't you create another routing service which defines a request (equal to the request element of the original routing service) and reply element (defining a single element called success or something).
    Then have this new routing service invoke your original routing service which invokes the database adapter. Now define a XSLT map for the reply of the new routing service and put an XSL text there with the value "success" or something?
    So:
    Routing_service_new --> Routing_service_original --> database_adapter
    Regards, Ronald

  • Database Adapter using Logical Delete Polling Strategy not updating field

    I have an ESB database adapter defined against a table. The adapter is set to use the Logical Delete Polling Strategy, and the table has an extra column defined as the "delete" field. When I register the adapter to the ESB and add a record to the table, the adapter reads the contents of the record as expected. However, 15 seconds later (that being the polling interval) it reads it again, and again 15 seconds after that, ad infinitum.
    I have defined the logical delete field as a single character field and set the Read value for "T" (a record is normally inserted with that field having a null value). Results as outlined in the previous paragraph. I redefined the field as a number and set the Read value to "1" (with a record normally inserted with that field having a value of "0"). Results as outlined in the previous paragraph.
    Apparently the update of the logical delete value to the Read value is not occurring. My question (obviously) is: Why?
    Thanks for your time.

    Here is the adapter WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
    name="Poll_PM_LOG"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/Poll_PM_LOG/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/Poll_PM_LOG/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/"
    xmlns:top="http://xmlns.oracle.com/pcbpel/adapter/db/top/PollPMLOG"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/PollPMLOG"
    schemaLocation="PollPMLOG_table.xsd"/>
    </schema>
    </types>
    <message name="LogCollection_msg">
    <part name="LogCollection" element="top:LogCollection"/>
    </message>
    <portType name="Poll_PM_LOG_ptt">
    <operation name="receive">
    <input message="tns:LogCollection_msg"/>
    </operation>
    </portType>
    <binding name="Poll_PM_LOG_binding" type="tns:Poll_PM_LOG_ptt">
    <pc:inbound_binding/>
    <operation name="receive">
    <jca:operation
    ActivationSpec="oracle.tip.adapter.db.DBActivationSpec"
    DescriptorName="PollPMLOG.Log"
    QueryName="Poll_PM_LOG"
    PollingStrategyName="LogicalDeletePollingStrategy"
    MarkReadFieldName="PROCESSED"
    MarkReadValue="T"
    SequencingFieldName="ID"
    MaxRaiseSize="1"
    MaxTransactionSize="unlimited"
    PollingInterval="15"
    NumberOfThreads="1"
    UseBatchDestroy="false"
    ReturnSingleResultSet="false"
    MappingsMetaDataURL="PollPMLOG_toplink_mappings.xml" />
    <input/>
    </operation>
    </binding>
    <service name="Poll_PM_LOG">
    <port name="Poll_PM_LOG_pt" binding="tns:Poll_PM_LOG_binding">
    <jca:address location="eis/DB/PM"
    UIConnectionName="PM"
    ManagedConnectionFactory="oracle.tip.adapter.db.DBManagedConnectionFactory"
    />
    </port>
    </service>
    <plt:partnerLinkType name="Poll_PM_LOG_plt" >
    <plt:role name="Poll_PM_LOG_role" >
    <plt:portType name="tns:Poll_PM_LOG_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    The field PROCESSED is defined as CHAR(1), and is normally null when a record is inserted. The value of the field is to be set to 'T' when the record is read by the polling adapter.

  • Database Adapter not working properly for more input parameters in OSM

    Hi,
    We are using OSM 7.0.0.3 and using design studio for development.
    Recently we are facing issue with the database adapter.In Studio,we have options for configuring the JDBC adapter.
    we have custom table in the database which has four columns with it.we are suppose to retrieve this table data using database adpater.
    so,whats happening here is,when we are sending two parameters as input to database adapter,we are able to retrive the table data properly.
    but,
    when we are sending morethan two parameters as input adapter,it is not giving right results.
    so,
    is there any constarint on how many parameters to be send as inut to adapter???
    any opinoin on first look at the issue??i will share the sample code if needed.

    Hi Naidu,
    OSM 7.0.0.3 is a very old version and they are many fixes on top of it. So request you to please use any of the latest versions of OSM 7.0.1/7.0.2/7.0.3 and retest the issue. We are not giving any patches on top of OSM 7.0.0. You can also raise a service request for further investigation and analysis.
    Regards,
    JP

  • Mapping Routing service with a database adapter in ESB

    Hi,
    I have a database adapter configured for a Stored procedure that takes in a XML_TYPE and returns a CLOB. I also have the Schema for request and response, which I have configured in a Routing Service. Now how do I map the Routing Service to the Database adapter.
    The problem I am facing is 'CLOB' is returned as a simple type which can't be mapped to a complex type schema of the Routing Service.
    Also the 'any' tag of the XML_TYPE is not supported by jdeveloper.
    Any suggestions plz....
    Thanks..

    Adapters may have been tesed under load but messages are kept small. Of you adapter keep your messages as small as possible. Try and keep messages under 1MB, if possible.
    If you know Apps will I would stick to using the DB adapter for calling APIs, and Apps adapter for the more complex integrations, e.g. business events, xml gateway. I use DB adapter for concurrent programs, but the apps adapter is good for these integrations as well.
    The reason I used the DB adapter for APIs is because the PL/SQL stub the adapter creates forces you to uses all fields in the APIs. In some case you may only need a handfull out of 100. You get issues when you don't provide values.
    If you are in evaluation stage of products I would recommend Oracle Data Integrator for eBusiness Suite integration if you are implementing batch type interfaces. This is because of the inbuild error handling. It manages batch messages much better. Whereas SOA Suite is designed for single messages so it manges small messages well.
    The best option Oracle offers is Oracle Data Integration Suite, which includes ESB and BPEL.
    cheers
    James

  • DataBase Adapter Issue

    Hi all,
    When i try to query the table using the Database adapter , i m getting the following error message
    *" ORA-04030 : out of process memory when trying to allocate 2024 bytes( kxs-heap-c,kghsstk)* "
    Experts please post the possible resolution for this issue..
    Thanks in Advance,
    Karthik

    Hi-
    Is the Database and Weblogic installed on same machine ??
    When you execute queries from SQL worksheet this is the only program that is consuming memory..
    But when you run from DB Adapter both your adapter and database consumes the memory and datbase is not able to get the required memory to run the script..
    I am not quite sure of the issue, u can check the task manager and find it out when executing the program

  • Database adapter wizard issue

    Hi,
    I recently created a bpel flow containing a database adapter where I completed all the steps through to completion. Since then, when I attempt to review the adapter by double-clicking on it and then click on "Define Adapter Service", then when I step through to the "Adapter Config. Wizard - Select Table" I am told :
    'No Tables Imported'.
    I cannot figure out what I have done to have caused this. As far as I can see everything related to the database adapter from its initial creation still exists:
    * under "Application Sources" I see the adapter, and within this are 3 javaclasses that relate to the tables in the join
    * under "Application Sources->TopLink" again I see a reference to the adapter
    * under "Integration Content", there is another reference to the adapter, which contains :
    - wsdl, xsd & toplink mappings xml
    I have two further database adapters that do not have any issues - I can use the wizard to review their configuration. The entire flow compiles without issues...
    Is there anyway I can "fix" the 1st adapter so that the wizard correctly shows the imported tables?
    Thanks in advance.
    Anit

    Hi,
    No it is not a bug, I think. If you created your query by choosing from imported tables/views and related those using the wizard, the only way to change them is to re-import the tables and basically redefine your database adapter.
    It's a pity, but that's how it is (also in 10.1.2 I saw recently).
    Regards,
    Martien

  • Database Adapter Connection to EBusiness Suite Issue

    I have a process that creates records in the EBusiness Suite using the BPEL Database Adapter. The adapter calls a single wrapper procedure that internally calls 4 TCA APIs one after the other. There appears to be an USERENV LANG issue during the final api that is called. The LANG needs to be US but the SQL Worksheet in JDeveloper BPEL Designer returns GB which I suspect is the value the adapter has when it connects to the eBusiness Suite.
    How can the value of the LANG be set for the adapter ? My Environment variable for NLS_LANG is set to AMERICAN_AMERICA.WE8ISO8859P1. My various Oracle homes are also set to this value.
    I have also tried FND_GLOBAL.APPS_INITIALIZE procedure to effectively 'log on' to the EBS but this returns an error. The same wrapper package called directly from SQL*Plus works perfectly (where USERENV LANG is US). Solutions welcome !

    The issue was resolved by adding the following to the start of the wrapper procedure:
    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_LANGUAGE = ''AMERICAN''';

  • Database Adapter and SQL Server procedure issue

    Hello,
    I am using Jdev 11.1.1.7.0 and SQL Server 2005.
    In the Database Adapter configuration wizard, Specify Stored Procedure step, I choose the “GEACupax” schema and got the following error after a click on “Procedure Browse” button:
    com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'GEACUPAX.INFORMATION_SCHEMA.SCHEMATA'.
    The command Database Adapter tried to execute was:
    (from jdev log:) select schema_name from GEACUPAX.INFORMATION_SCHEMA.SCHEMATA order by schema_name;
    Note, the schema name has changed to uppercase. I think that is the problem. If I try this query in SQLDeveloper, it returns the same error. I can fix it changing the schema name to “GEACupax”. The case matters.
    Any ideas?
    Leandro.

    Vijay,
    Thanks for you reply.
    I figure out a related bug:
    Bug 12859472: Cannot browse store procedure in case-sensitive MS SQL Database
    There are two possible workarounds:
    1. Use a database name with capital letters
    2. Do not use stored procedures, but access the tables directly.
    The notes on the Bug ticket describes that the issue would be scheduled to be fixed in PS7 which is 11.1.1.8.
    Cheers!
    Leandro.

  • JCA database adapter issue due to database schema dependency

    Hi,
    I am using the JCA database adapter to call a stored procedure. The adapter uses the database schema name while calling the Stored procedure. The schema name is added in the namespace of XSD, wsdl files.
    If I have to use a different database schema name, how can I update the existing code without much modification.
    Thanks!

    Thanks for your reply Prabhu.
    But the modification in JCA file is resulting in the following Exception.
    I think this change has resulted in references related issue. Please let me know if any further changes are required.
    <> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=> Could not invoke operation against the 'Database Adapter' due to:
    BINDING.JCA-11811
    Stored procedure invocation error.
    Error while trying to prepare and execute the old_schema_name.stored_procedure_name.
    An error occurred while preparing and executing the old_schema_name.stored_procedure_name.
    API. Cause: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00201: identifier old_schema_name.stored_procedure_name.
    must be declared
    ORA-06550: PL/SQL: Statement ignored

  • 11g Database Adapter issue

    Hi there,
    I have a very simple BPEL process which just use Database Adapter to response result from one table, every thing works ok but a column with 'ROWID' datatype get a wrong data.
    Which means when the data in table is 'AAAOOMAAPAAAgGVAAl', the BPEL output is 'QUFBT09NQUFQQUFBZ0dWQUFs', i try to modify the xxx-or-mapping.xml and xxx-properties.xml but still no luck.
    Any ideas?

    Hi AJ,
    Thanks for your reply.
    In fact, i can't remove the ROWID type column. it is very important for business logic, the table is hosted on third party database, i have no right to do any change.
    below is the table struct:
    table PULL_STOCK_TRANSFER
    ISSUE_PLANT NOT NULL VARCHAR2(4)
    RCVNG_PLANT NOT NULL VARCHAR2(4)
    ISSUE_DATE NOT NULL DATE
    PART_CODE NOT NULL VARCHAR2(18)
    QUANTITY NOT NULL NUMBER(13,3)
    FLAG CHAR(1)
    PROCESSED CHAR(1)
    REMARKS VARCHAR2(200)
    TRACKING_ID ROWID
    ISSUE_LOCATION NOT NULL VARCHAR2(2)
    RCVNG_LOCATION NOT NULL VARCHAR2(2)
    And there have no problem on 10g.
    So any ideas?
    -Ray

  • Database adapter exception handling

    Using Database adapter in ESB process that polls using DeletePolling strategy.
    On hitting exception due to some date format issue the adapter stops polling and the polling resumes only after identifying and removing the faulty record from the table.
    We have to do manual process of identifying the faulty records, since the error is not reported in any of the log files.
    Can configure to log this type of error?
    Would any rejection handling work in this case?
    Using Oracle ESB 10.1.3.4

    When records are inserted into the table, then the date format will be of sql type which is supported by db adapter. This might not be causing the issue. I hope you don't have a scenario where db adapter is updating a record through it's logical delete strategy and the same record is updated by another service. This would result in stopping db adapter polling. Provide the log trace for this. You can change the mode to trace-32 at soa.adapter level in em console.
    HTH.
    -Sriharish.

  • Logical delete in database adapter

    Hello
    I was wondering if someone has solution the problem with polling database. You can specify the logical delete column and you can give values for READ, UNREAD and RESERVED states. The problem is that when for example ESB project polls some specific table and starts an instance for every new row with specified logical delete field with value UNREAD, when something unexpected happens and something goes wrong the database adapter updates the row with READ value. This is problematic if we have thousands of rows, and we would like to separate the errored rows from the successfully read rows. Is there anyway (easy) way to update those rows that went wrong to some other value than READ?
    I don't know if anyone understood me, but just for clarification here's a example:
    I have a ESB-project which poll specific database table and parses and XML from the data. After this the ESB-project sends the data to some Web Service. The database table has column CONDITION_CODE in which value 0 means unread and value 1 means read. Now if everything goes fine there is no problems. But if the Web Service is unavailable or the data is malformed, the database adapter still updates the CONDITION_CODE to 1! We have no ways (except to listen ESB_ERROR topic and implement some error handling there) to know what rows were successfully delivered and which were not...
    Hope I was able to clarify the problem... And I hope someone could be able to provide me with answer.
    Best Regards Tuomas

    Did you use the RESERVED value property? How about the transaction mechanism? Do you have global transactions? I gues you would have to use them!

  • Error while invoking custom API using Database Adapter

    Hi,
    I've a requirement where in I need to fetch the data returned by a recordtype of a custom API. I've implemented this by invoking the custom API using Database Adapter. I'm facing a problem while performing this.
    The custom API holds the signature as:
    PROCEDURE EMP_DET
    Argument Name Type      In/Out Default?
    P_DEPTNO NUMBER IN
    L_LINE_TBL TABLE OF RECORD OUT
    I've a schema with which it needs to be validated. It looks like:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:po="http://www.mycompany.com/ns/sales" targetNamespace="http://www.mycompany.com/ns/sales" elementFormDefault="qualified">          
    <element name="EmployeeDetails">          
    <complexType>               
    <sequence>                    
    <element name="EmpNo" type="integer"/>                    <element name="EName" type="string"/>                    <element name="Job" type="string"/>                    <element name="Mgr" type="integer"/>                    <element name="HireDate" type="date"/>                    <element name="Sal" type="decimal"/>                    <element name="Comm" type="decimal"/>               </sequence>          
    </complexType>     
    </element>
    </schema>
    I did a transformation to the above stated Emp.xsd with the xsd created for my custom API by the BPEL process. I could create the process and deploy successfully, but while invoking I get the following error. (I'm using BPM 10.1.3.1 with JDev 10.1.3.1)
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>6502</code>
    </part><part name="summary"><summary>file:/D:/OraBPEL/bpel/domains/default/tmp/.bpel_my_poc_1.0_16c5d0f7b937c780d27d8975726a15cb.tmp/emp_details.wsdl [ emp_details_ptt::emp_details(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'emp_details' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the SCOTT.BPEL_EMP_DETAILS.EMP_PKG$EMP_DET API. Cause: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    [Caused by: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    ; nested exception is:
         ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the SCOTT.BPEL_EMP_DETAILS.EMP_PKG$EMP_DET API. Cause: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    [Caused by: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
    </summary>
    </part><part name="detail"><detail>
    Internal Exception: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    Error Code: 6502</detail>
    </part></remoteFault>
    Can someone let me know as to why I'm getting this error? Also lemme know if such an approach is valid to do, if not please suggest me alternate methods to do this.
    Thanks in advance,
    Gayathri

    The 'numeric or value error' is one we have seen many times. The problem has been identified and fixed. Refer to this thread for more information.
    Issue with DB Adapter - ORABPEL-11811

Maybe you are looking for

  • Playing multiple videos on the same page in Dreamweaver CS4?

    Suppose on my website, I have a few dozen videos, all of them embedded YouTube videos. When the user goes to the page, Video 1 is up and ready to be played. Below Video 1 is a list of the other videos (Video 2, Video 3, and so on), each with a thumbn

  • GRC 10.0  stack java

    Hello . I'm installing GRC 10.0 with a customer, but they want only ABAP environment and are discarding the java stack. anyone know if there are disadvantages of not istalar the java stack ? what are the advantages and disadvantages of having the jav

  • Keeping my iTunes library in a Airport connect Hardrive

    I want to keep my iTunes library on a hard drive that I have connected to my Airport wireless network. When I do this in the default configuration iTunes cannot access the library until I go out to the shared drive, connect to it, and browse into it

  • List of differences between Ipod & Itunes

    Is there a simple way to list the differences between the content of my Ipod and Itunes? So that I can just add what is new. I am using a manual sync. Thanks.

  • Cache query results in too much garbage collection activity

    Oracle Coherence Version 3.6.1.3 Enterprise Edition: Production mode JRE 6 Update 21 Linux OS 64 bit The application is using a object Customer having following structure Customer(CustID, FirstName, LastName, CCNumber, OCNumber) Each property of Cust