Database adapter update exception

I have written BPEL process that polls view for data and sends the data to another database. Till this point it is working good. Then I created partner link to update status of column of base table(XYZ_TABLE) using operation UPDATE has total 90 columns (not view) as UNDER_PROCESS. I did mappings to primary coloum and status of XYZ_TABLE. When i run the process it is throwing below error. Please help resolve this error.
Exception Description: java.sql.BatchUpdateException: ORA-01401: inserted value
too large for column
Process1_1.0.jar/update_status_code.wsdl [ update_status_code_ptt::update(QtmCmger
tRfqExtnCollection) ] - Could not invoke operation 'update' against the 'Databas
e Adapter' due to:
ORABPEL-11616
DBWriteInteractionSpec Execute Failed Exception.
unknown failed. Descriptor name: [unknown].
Caused by Exception [TOPLINK-4002] (OracleAS TopLink - 10g (9.0.4.5) (Build 0409
30)): oracle.toplink.exceptions.DatabaseException
Exception Description: java.sql.BatchUpdateException: ORA-01401: inserted value
too large for column
Internal Exception: java.sql.BatchUpdateException: ORA-01401: inserted value too
large for column
Error Code: 1401.
Message was edited by:
user514348

Hi there,
if you have 90 columns it is very likely that one of these is being passed a value that is too large.
Unfortunately the inserted value too large for column exception never tells you which column it is, so it is not fun.
But you can turn on logging to see the exact sql, and the bind values for each column. That should give you a clue.
To turn on logging go to your bpel console, manage bpel domain -> logging, and set either or both of these two for all dbadapter logging.
"...activation" DEBUG (inbound polling receive)
"...ws" DEBUG (outbound insert/select/update invoke)
Thanks
Steve

Similar Messages

  • 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 in Database Adapter Insert Or Update (Merge) Operation

    I have a simple SOA composite which reads XML files and posts data to a database table using a database adapter. I would like to perform a merge operation but I keep getting this error in the log -
    SEVERE: JCABinding=> XML2DB:WriteInvToDB [ WriteInvToDB_ptt::merge(InventoryCollection) ] Could not invoke operation 'merge' against the 'Database Adapter' due to:
    BINDING.JCA-11616
    DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [WriteInvToDB.Inventory].
    Caused by java.lang.NullPointerException.
    Here is the complete log:
    SEVERE: JCABinding=> XML2DB:WriteInvToDB [ WriteInvToDB_ptt::merge(InventoryCollection) ] Could not invoke operation 'merge' against the 'Database Adapter' due to:
    BINDING.JCA-11616
    DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [WriteInvToDB.Inventory].
    Caused by java.lang.NullPointerException.
    Please see the logs for the full DBAdapter logging output prior to this exception.
    Jan 3, 2009 10:58:06 AM oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl log
    SEVERE: JCABinding=> [default/XML2DB!1.0*2008-12-23_13-27-06_078.WriteInvToDB]:merge One-way interaction failed
    Jan 3, 2009 10:58:06 AM oracle.tip.mediator.serviceEngine.MediatorServiceEngine post2Mesh
    SEVERE: Post 2 messah failed
    oracle.fabric.common.FabricInvocationException: BINDING.JCA-12563
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'merge' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [WriteInvToDB.Inventory].
    Caused by java.lang.NullPointerException.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.EndpointInteractionException.getFabricInvocationException(EndpointInteractionException.java:74)
         at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:226)
         at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:153)
         at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:152)
         at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:159)
         at sun.reflect.GeneratedMethodAccessor253.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
    Caused by: BINDING.JCA-12563
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'merge' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [WriteInvToDB.Inventory].
    Caused by java.lang.NullPointerException.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:428)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:509)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:493)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:429)
         at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:193)
         ... 49 more
    Caused by: BINDING.JCA-11616
    DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [WriteInvToDB.Inventory].
    Caused by java.lang.NullPointerException.
    Please see the logs for the full DBAdapter logging output prior to this exception.
         at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:488)
         at oracle.tip.adapter.db.exceptions.DBResourceException.outboundWriteException(DBResourceException.java:529)
         at oracle.tip.adapter.db.transaction.DBTransaction.commit(DBTransaction.java:287)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:311)
         ... 53 more
    Caused by: java.lang.NullPointerException
         at oracle.toplink.descriptors.DescriptorQueryManager.putCachedUpdateCalls(DescriptorQueryManager.java:1605)
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.prepareUpdateObject(ExpressionQueryMechanism.java:1608)
         at oracle.toplink.internal.queryframework.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:405)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1136)
         at oracle.toplink.queryframework.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:69)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:279)
         at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    Jan 3, 2009 10:58:06 AM oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl log
    WARNING: JCABinding=> ReadXML ReadXMLonReject: The resource adapter 'File Adapter' requested handling of a malformed inbound message. However, the following Service property has not been defined: 'rejectedMessageHandlers'. Please define it and redeploy the module. Will use the default Rejection Directory file://jca\ReadXML\rejectedMessages for now.
    Jan 3, 2009 10:58:06 AM oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl log
    WARNING: JCABinding=> ReadXML ReadXMLonReject: Sending invalid inbound message to Exception Handler:
    Jan 3, 2009 10:58:06 AM oracle.tip.mediator.common.error.ErrorMessageEnqueuer$EnqueuerThread run
    SEVERE: Failed to enqueue error message
    javax.jms.TransactionInProgressException: Cannot call commit on a XA capable JMS session.
         at oracle.j2ee.ra.jms.generic.RAUtils.make(RAUtils.java:595)
         at oracle.j2ee.ra.jms.generic.RAUtils.toTransactionInProgressException(RAUtils.java:846)
         at oracle.j2ee.ra.jms.generic.RAUtils.toTransactionInProgressException(RAUtils.java:840)
         at oracle.j2ee.ra.jms.generic.SessionWrapper.commit(SessionWrapper.java:197)
         at oracle.tip.mediator.common.error.ErrorMessageEnqueuer$EnqueuerThread.run(ErrorMessageEnqueuer.java:187)
         at java.lang.Thread.run(Thread.java:595)
    Any help is greatly appreciated.
    The INSERT operation works fine with the database adapter, but I cannot get MERGE and UPDATE operations to work as expected!
    Thanks.

    hi Sudeep,
    We are at first hand struggling with DB adapter problem getting down everytime. Don't know the reason why.
    DB adapter is in down state and when trying to make it up gives below error:
    "weblogic.application.ModuleException: weblogic.connector.exception.RAException: Jndi Name is null or empty."
    I just created a simple sync process using DB adapter (custom select) and deplyed successfully. I hope jndi name is not to be configured in weblogic-ra.xml file.
    This is the first time we are using this JNDI name (eis/DB/calvindb).
    Any inputs will be appreciated.
    Thanks,
    Nikhil

  • 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.

  • 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 to continue polling after hitting exception

    I am using BPEL 10.1.3.5. Using Database adapter "LogicalDeletePollingStrategy".
    On hitting the exception in one of the records the adapter stops polling/processing other records for that transaction.
    Ideally it is expected to continue processing other records.
    I believe in 11g there is a JCA property Undying that makes the adapter to continue processing after hitting an exception. How is it in 10g to get this.
    Thanks,

    There is no rejection handler been configured and I am not sure if its a better way to configure rejection handler for Database failed records to file.
    As in 10g, the DB adapter stops after hitting exception for that transaction.

  • Jdev Database Adapter - polling updated rows

    Hello, I have a question reguarding the polling strategy available in the database adapter.
    I set it up and it works great with new inserted rows in the table.
    However, it doesn´t capture the updated rows!
    For instance, i have the following table:
    ID - NAME - AGE
    1 -John- 21
    2 -Mary- 25
    When I insert a new row, it is captured by comparing the last captured ID in the sequencing file.
    ID - NAME - AGE
    1 -John- 21
    2 -Mary- 25
    3 -Cindy- 20 <--------- New row
    But when i UPDATE an already existing row, it doesnt load the changed row!
    ID - NAME - AGE
    1 -John- 26 <----------- Age changed, but polling doesnt recognize it!
    2 -Mary- 25
    3 -Cindy- 20
    Is there a way to get this to work? Should I set an special option? Thank you very much.
    Im using jdeveloper 11g.

    Hi John, it depends on which type of polling strategy you are using to poll the new/updated records. You must have the necessary previleges to add the special field and creat triggers or your db team must have.
    i.Physical delete polling strategy: Cannot capture the UPDATE operations on the table.This because when the adapter listens to the table, when ever a record is polled, that record is deleted after the polling process. After polling the records, if it is not deleted, then the adapter knows that it’s a updated one but here when a record is polled, it is deleted. So when an adapter encounters a record, it’s a new record to the adapter though the record is updated before the polling cycle). So physical delete cannot capture UPDATED records.
    ii. Logical delete polling strategy: The logical delete polling strategy updates a special field of the table after processing each row (updates the where clause at runtime to filter out processed rows).The status column must be marked as processed after polling and the read value must be provided while configuring the adapter. Modified where clause and post-read values are handled automatically by the db adapter.
    Usage:
    <operation name="receive">
    <jca:operation
    ActivationSpec="oracle.tip.adapter.db.DBActivationSpec"
    PollingStrategyName="LogicalDeletePollingStrategy"
    MarkReadField="STATUS"
    MarkReadValue="PROCESSED"
    This polling strategy captures the updated records only if triggers are added.This is because when the record is polled, its status is updated to 'PROCESSED'. To capture this record if its updated, its status has to be 'UNPROCESSED'. So a trigger has to be added to update the status field to 'UNPROCESSED' whenever the record is updated. Below is the example.
    Ex:
    CREATE OR REPLACE TRIGGER nameOftrigger_modified
    BEFORE UPDATE ON table_name
    REFERENCING NEW AS modifiedRow
    FOR EACH ROW
    BEGIN
    *:modifiedRow.STATUS :='UNPROCESSED';*
    END;
    In this example, STATUS is the special field(of the polling table). When the record is updated, the trigger gets fired and updates the STATUS field to 'UNPROCESSED'. So when the table is polled, as this record's status is Unprocessed, this record ll be captured during polling.
    Other polling strategeis like "Sequencing Table Last Updated","Sequencing Table Last-Read Id" Polling strategy,etc also can be used to capture the updated records. In these strategies also, you need to add the triggers like the above. These need an extra helping table also to poll.
    Logical delete polling strategy is good enough to poll the updated records.
    Hope this helps.
    Thank you.

  • Database Adapter - Polling updated rows

    Hello, I have a question reguarding the polling strategy available in the database adapter.
    I set it up and it works great with new inserted rows in the table.
    However, it doesn´t capture the updated rows!
    For instance, i have the following table:
    ID - NAME - AGE
    1 -John- 21
    2 -Mary- 25
    When I insert a new row, it is captured by comparing the last captured ID in the sequencing file.
    ID - NAME - AGE
    1 -John- 21
    2 -Mary- 25
    3 -Cindy- 20 <--------- New row
    But when i UPDATE an already existing row, it doesnt load the changed row!
    ID - NAME - AGE
    1 -John- 26 <----------- Age changed, but polling doesnt recognize it!
    2 -Mary- 25
    3 -Cindy- 20
    Is there a way to get this to work? Should I set an special option? Thank you very much.
    Im using jdeveloper 11g.

    Hi John,
    I guess you're talking about BPEL? If so, try the BPEL forum for a better response.
    Best,
    John

  • SQLServer Exception and Database Adapter. Please Help!!

    Hello Everyone!
    I've been trying during a whole week to insert a row in an SQLServer Database table from a BPEL Process using the database adapter. But I've never had success, I will show you the table, the XML used to do the insert with the DB adapter and the exception, I hope that someone will help me.
    The Table:
    CREATE TABLE [dbo].[Solicitudes](
         [NumSolicitud] [int] IDENTITY(1,1) NOT NULL,
         [NifSol] [varchar](9) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Destino] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Motivo] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [FechaS] [datetime] NOT NULL,
         [FechaR] [datetime] NOT NULL,
         [InformeDirDep] [varchar](max) COLLATE Modern_Spanish_CI_AS NULL,
         [VoBoDirDep] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoDirDep] DEFAULT ((2)),
         [FirmaDirDep] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [VoBoDirCen] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoDirCen] DEFAULT ((2)),
         [FirmaDirCen] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [MedioLocom] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Matricula] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Credito] [varchar](10) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [CantidadEst] [float] NOT NULL,
         [VoBoRespCredito] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoRespCredito] DEFAULT ((2)),
         [FirmaRespCredito] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [VoBoRector] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoRector] DEFAULT ((2)),
         [FirmaRec] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [FechaFirmaRec] [datetime] NULL,
         [FirmaSolicitante] [varchar](max) COLLATE Modern_Spanish_CI_AS NULL,
         [FechaSol] [datetime] NOT NULL,
    CONSTRAINT [PK_Solicitudes] PRIMARY KEY CLUSTERED
         [NumSolicitud] ASC
    )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    The XML:
    <InvokeAdapter_insert_InputVariable>
    <part name="SolicitudesCollection" >
    <SolicitudesCollection>
    <Solicitudes>
    <CantidadEst>250.73</CantidadEst>
    <Credito>Crédito21</Credito>
    <Destino>Destino2</Destino>
    <FechaR>2007-04-14T12:45:51.924</FechaR>
    <FechaS>2007-04-14T12:45:51.908</FechaS>
    <FechaSol>2007-04-14T12:45:51.939</FechaSol>
    <FirmaSolicitante>Signature26</FirmaSolicitante>
    <Matricula>Matrícula20</Matricula>
    <MedioLocom>MedioLocomoción19</MedioLocom>
    <Motivo>Motivo3</Motivo>
    <NifSol>12345678S</NifSol>
    </Solicitudes>
    </SolicitudesCollection>
    </part>
    </InvokeAdapter_insert_InputVariable>
    And the Exception (Translated from spanish):
    Descripción de Excepción: com.microsoft.sqlserver.jdbc.SQLServerException: El nombre de objeto 'SEQUENCE' no es válido. Excepción Interna: com.microsoft.sqlserver.jdbc.SQLServerException: El nombre de objeto 'SEQUENCE' no es válido. Código de Error: 208
    Exception Description: com.microsoft.sqlserver.jdbc.SQLServerException: invalid object name 'SEQUENCE'. Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: invalid object name 'SEQUENCE'. Error Code: 208
    Why do i have this exception? Please help!!

    Hi peter, thanks for answering!!
    I don't have anything called sequence so i don't know why I have this error. The steps described in the page you sent to me were followed and the connection is good.
    Do you know if there's any way to know the SQL query executed or the jdbc classes used by the database adapter?
    Regards Antonio
    P.D. I'm using SQL Server Express 2005

  • Database adapter exception not caught

    Hello,
    I am testing a BPEL orchestration that was running overnight. This process was handling a lot of database transactions that would take quite some time to run. Sometime during the run the database adapter could not connect and an exception was thrown causing the instance to go into an open.faulted state. In the BPEL orchestration I have a Catch-All at the global scope to handle all uncaught exceptions, but apparently this one exception did not get caught. I have had database exceptions thrown and caught previously in other runs, but I am concerned why this one was not handled. Can anyone provide some insight on why this happened and how this can be prevented. I am using 10.1.3.4
    Thanks,
    Jim

    What was the fault. Have you any faults / configuration defined in the BPEL fault framework?
    cheers
    James

  • Performance chart -- Database Error Io exception: The Network Adapter

    Hi all,
    I migrate my grid control repository to a new HOST and a new OMS.
    Everything went right but on two of our databases if I click on the performance chart the database login screen appears.
    After I insert he right parameter system try to log on and throw following error.
    Database Error
    Io exception: The Network Adapter could not establish the connectionSearching the web / metalink I find something like some wrong parameter but on the same hosts are multiple instances there do not have this problem.
    Does anyone have an idea ?.
    Thanks
    *T                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hey Rob.
    there was a search domain missing in the resolf.conf.
    Well done.
    *T                                                                                                                                                                                   

  • Null Pointer Exception when invoking Database Adapter

    The error reads as follows
    <2008-06-27 11:34:02,558> <ERROR> <p1.collaxa.cube.ws> <AdapterFramework::Outbound>
    file:/u01/app/oracle/product/10.1.3/as_mid_2/bpel/domains/p1/tmp/.bpel_UpdateA_8.2_8821b67fbd12f5dd2a0d57af136ec99e.tmp/InsertA.wsdl
    [ InsertAHis_ptt::insert(AHisCollection) ] - Could not invoke operation 'insert' against the 'Database Adapter' due to:
    java.lang.NullPointerException
    NB Just about the same process (minor differences in the payload) was launched at just about the same time, but that one did not cause an error.
    The error happened two days after a release. It was the first invocation of the service
    after that release. This may or may not have something to do with this error.
    There was no database shutdown, only a restart of the application server
    We cannot reproduce the error; this means that we don't have an extended log with more information on the error.
    Do you have more information on errors like this one?
    Thanx
    Lebbol

    Hi,
    To use the ServiceControl you need to be in a container that supports controls. This is what will instantiate your control for you, and take care of the some of the services controls require.
    So to use the ServiceControl you'll need to invoke it from another web service, a page flow, or another control.
    If you need to invoke from a standard main program, one option would be to use a standard WLS JAX-RPC client. This can be generated with their <clientgen> ant task.
    Hope this helps.
    -Chris

  • How to use Database Adapter in BPEL

    I want to use Database Adapter in BPEL to transfer data from one table to other table and the data is still hold in the read table?
    I can find a example from http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_db.htm#BDCIGDCB.
    And the general design of my BPEL is as following:
    1. Add a "status" column to the read table. And alter the value of status column of all data in read table to "unreaded".
    2. Then create a empty BPEL (BPELAdapter) Project.
    3. Add a Database Adapter:
    (1) In step 1 of Adapter Configuration Wizard, configure the Service Name to datain.
    (2) In step 2, configure the database connection.
    (3) In step 3, choose "Poll for New or Changed Records in a Table".
    (4) Then click Import Tables button, and choose the read table.
    (5) In step 5, choose a column.
    (6) Don’t do anything in step 6 and 7.
    (7) In step 8, choose "Update a Field in the [Datain] Table (Logical Delete)".
    (8) In step 9, configure Logical Delete Field to STATUS, configure Read Value to readed and configure Unread Value to unreaded.
    (9) Don’t do anything in step 10 and 11.
    4. Add a receive activity to connect to above database adapter.
    5. Add another Database Adapter. Then configure this database adapter service WSDL:
    (1) In step 1 of Adapter Configuration Wizard, configure the Service Name to dataout.
    (2) In step 2, configure the database connection.
    (3) In step 3, choose Perform an Operation on a Table (and all items under it).
    (4) Then click Import Tables button, and choose the write table.
    (5) In step 5, choose a column.
    (6) Don’t do anything in step 6, 7 and 8.
    6. Add a invoke activity to connect to above database adapter.
    7. Add a assign activity between the receive activity and invoke activity. And configure the assign copy operation.
    But after I deploy this BPEL project to the BPEL server and invoke this project, I get following error. Meanwhile, this BPEL don't take effect.
    The following exception occured while processing this request:
    Can't find partnerLinkType 2.
    in
    "file:/D:/soft/SOASuite/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_BPELAdapter_1.0_e82210b05e4d3e997eed581d0d220293.tmp/_BPELAdapter.wsdl" WSDL to find PartnerLinkType "{http://xmlns.oracle.com/pcbpel/adapter/db/datain/datain_plt"。
    How to resolve?
    Thanks,
    Melody

    Now, I can insert data into the table through Database Adapter.
    But still can't select data from the table through Database Adapter.
    Above error still happen when invoke the read database table with Database Adapter project:
    Can't find partnerLinkType 2.
    in
    "file:/D:/soft/SOASuite/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_BPELAdapter_1.0_e82210b05e4d3e997eed581d0d220293.tmp/_BPELAdapter.wsdl" WSDL to find PartnerLinkType "{http://xmlns.oracle.com/pcbpel/adapter/db/datain/datain_plt"。

  • Database Adapter-Insert

    Hi,
    I am new to BPEL. I am trying to learn through tutorials. I am working on Insert tutorial (Database Adapters).
    I was able to compile the project sucessfully in jdev and deploy to Bpel server.
    After giving the input and hitting on post xml message the follwing error comes up:
    file:/C:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_Insert_1.0_3955c8686706b0e75f228f767a18cf38.tmp/InsertService.wsdl [ InsertService_ptt::insert(MoviesCollection) ] - WSIF JCA Execute of operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [Insert.Movies]. [Caused by: JDBC 2.0 feature is not yet implemented]
    ; nested exception is:
         ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [Insert.Movies]. [Caused by: JDBC 2.0 feature is not yet implemented]
    Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: JDBC 2.0 feature is not yet implementedError Code: 0.
    Does anyone have idea about this error?
    My settings in oc4j_ra.xml are as below:
    <connector-factory location="eis/DB/BPELSamples" connector-name="Database Adapter">
              <config-property name="xADataSourceName" value=""/>
              <config-property name="dataSourceName" value=""/>
              <config-property name="platformClassName" value="oracle.toplink.internal.databaseaccess.OraclePlatform"/>
              <config-property name="usesNativeSequencing" value="true"/>
              <config-property name="sequencePreallocationSize" value="50"/>
              <config-property name="defaultNChar" value="false"/>
              <config-property name="usesBatchWriting" value="true"/>
              <config-property name="driverClassName" value="oracle.lite.poljdbc.POLJDBCDriver"/>
              <config-property name="connectionString" value="jdbc:polite4@localhost:1531:orabpel"/>
              <config-property name="userName" value="system"/>
              <config-property name="password" value="manager"/>
              <config-property name="minConnections" value="1"/>
              <config-property name="maxConnections" value="5"/>
              <config-property name="minReadConnections" value="1"/>
              <config-property name="maxReadConnections" value="5"/>
              <config-property name="usesExternalConnectionPooling" value="false"/>
              <config-property name="usesExternalTransactionController" value="false"/>
              <connection-pooling use="none">
              </connection-pooling>
              <security-config use="none">
              </security-config>
         </connector-factory>
    and datasources.xml is
    <connection-pool name="BPELPM_CONNECTION_POOL">
    <connection-factory factory-class="oracle.lite.poljdbc.POLJDBCDriver"
    user="system"
    password="manager"
    url="jdbc:polite4@localhost:1531:orabpel" />
    </connection-pool>
    <managed-data-source name="BPELServerDataSource"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELServerDataSource" tx-level="global"/>
    <managed-data-source name="BPELServerDataSourceWorkflow"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELServerDataSourceWorkflow" tx-level="local"/>
    <!--managed-data-source name="BPELSamplesDataSource"
    connection-pool-name="BPELPM_CONNECTION_POOL"
    jndi-name="jdbc/BPELSamplesDataSource" tx-level="global" /-->
    I have a database connection called bpel samples in jdev. Can anyone help me in creating bpel process to insert data in a table using database adapters.
    I am not able to get any output for any of the database adapter tutorials. Any hints????
    Thanks in advance.
    Edited by: user3833651 on Apr 22, 2009 8:17 PM

    The database version is only important with the dehydration store. If you are using the adapters to select / delete / update / insert data into your application it comes down to the jdbc drivers. Basically if you are above 8i you should be fine.
    olite is a very basic database, and the jdbc drivers are flaky, it's also not based on the Oracle code, therefore is not upgradable if you want to increase performance. You would need to perform some manual steps to migrate to a standard database.
    If you are wanting to do basic tutorials and don't want to have a heavy database using all your resources, use oracle XE. No need to pact. If you have a oracle database installed somewhere use that.
    http://www.oracle.com/technology/software/products/database/xe/index.html
    cheers
    James

  • SOA Database Adapter error in 11g

    Hi All,
    Created BPEL process in 11g that invokes a UPDATE functionality on Database Adapter in Jdeveloper 11g. Using XA database ......
    Getting following error.
    *<fault>*
    *<bpelFault>*
    *<faultType>*
    *<message>0</message>*
    *</faultType>*
    *<bindingFault>*
    *<part name="summary">*
    *<summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'update' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. Project1:UpdateDBAdapter [ UpdateDBAdapter_ptt::update(CreditcardinfoCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='jdbc/soademoDatabase'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to jdbc/soademoDatabase. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary>*
    *</part>*
    *<part name="detail">*
    *<detail>JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='jdbc/soademoDatabase'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to jdbc/soademoDatabase. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server </detail>*
    *</part>*
    *<part name="code">*
    *<code>null</code>*
    *</part>*
    *</bindingFault>*
    *</bpelFault>*
    *</fault>*
    What must be going wrong ?
    Thanks
    pp

    Check whether dbadapter application is deployed on the Weblogic. If it is already deployed, then update it once and try again.
    Regards,
    Anuj

Maybe you are looking for