DBadapter: Numeric OverflowError in polling query

Hi,
When using a database adapter to poll for new records I encounter the following error in the opmn.log:
<Database Adapter::Inbound> <oracle.tip.adapter.db.InboundWork handleException> Same exception during polling of the database Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Numeric OverflowError Code: 17026
Call:SELECT A, B, C, D, E FROM XXBPEL_Table WHERE (B = ?)
bind => [20]
Query:ReadAllQuery(bpel___localhost_EBS_TestDbAppt_1_0_1.schema.tablename)
I use the database adapter to poll for new records in a table on a remote database.
The db adapter uses a public synonym in my local database, defined for the remote table.
If I run the query directly on the local database all goes well. The datatypes in the generated xsd in my BPEL process are according to the datatypes of the columns in the remote table.
The error occurs when I switch the process state to 'on'. If I redeploy the polling process, polling resumes for a certain time. Occasionally, restarting the SOA Suite helps but not for long.
SOA Suite Version = 10.1.3.1.0
Any suggestions as to what's going on here?
regards, Rob

Problem is solved,
one of the selected column was of type number(10), which in the toplink_mappings.xml is mapped to an int. The error occured when the number-value exceeds maxin (2**32), which is 4294967296. Modifying the int to long datatype solved the issue.

Similar Messages

  • Duplicate processing by DBAdapter when using Distributed Polling with Logical Delete Strategy

    We have DBAdapter based polling services in OSB running across two Active-Active clusters (total 20 managed service across 2 clusters),
    listening to the same database table. (Both clusters read from the same source DB). We want to ensure distributed polling without duplication,
    hence in the DBAdapter we have selected Distributed Polling option, meaning we are using "Select For Update Skip Locking".
    But we see that sometimes, same rows are processed by two different nodes and transactions are processed twice.
    How do we ensure that only one managed server processes a particular row using select for update? We do not want to use the markReservedValue option which was preferred in older version of DBAdapter.
    We are using following values in DB Adapter configuration, the Jdev project for DBAdapter and the OSB proxy using DBAdapter are attached.
    LogicalDeletePolling Strategy
    MarkReadValue = Processed
    MarkUnreadValue = Initiate
    MarkReservedValue = <empty as we are using Skip Locking>
    PollingFrequency = 1 second
    maxRaiseSize = 1
    MaxTransactionSize = 10
    DistributionPolling = checked   (adds lock-n-wait in properties file and changes the SQL to SELECT FOR UPDATE SKIP LOCKED)
    Thanks and Regards

    Hi All,
    Actually I'm also facing the same problem.
    Step I follwed:
    1) Created a job_table in database
    create talbe job_table(id, job_name, job_desc, job_status)
    2)created a bpel process to test the Inbound distributed polling.
    3)Configure the DBAdapter for polling.
    a)update a field in the job_table with logical delete.
    b)select the field name form the drop down
    c) change the read value-->Inprogress and unRead value--->Ready
    d) dont change the value for Reserved value
    e) select the check box for "distributed polling".
    f) the query will be appended with "For update NoWait."
    g)click next and then finish.
    4) Then i followed the below steps.
    To enable pessimistic locking, run through the wizard once to create an inbound polling query. In the Applications Navigator window, expand Application Sources, then TopLink, and click TopLink Mappings. In the Structure window, click the table name. In Diagram View, click the following tabs: TopLink Mappings, Queries, Named Queries, Options; then the Advanced… button, and then Pessimistic Locking and Acquire Locks. You see the message, "Set Refresh Identity Map Results?" If a query uses pessimistic locking, it must refresh the identity map results. Click OK when you see the message, "Would you like us to set Refresh Identity Map Results and Refresh Remote Identity Map Results to true?Ó Run the wizard again to regenerate everything. In the new toplink_mappings.xml file, you see something like this for the query: <lock-mode>1</lock-mode>.
    5) lock-mose is not changed to 1 in toplink_mappingss.xml
    Can we edit the toplink_mappings.xml manually.
    If yes, what allt he values Ineed to change in toplink_mappings.xml file, so that it will not pick the same record for the multiple times in clustered environment.
    Please help me out this is urgent.
    Thanking you in advance.

  • Trying to create non-numeric key figure in Query

    Hello, I am trying to add a formula into my BW Query that will return a non-numeric value.
    My cube will be used like a standard BW cube 90% of the time, but there is one query request that wants to display atomic data and have non-numeric categories determine at time of query run.
    Example:
    Field A has integer values
    Key           Value
    Record 1     -1
    Record 2      2
    Record 3      6
    I want to add a calculated field with the following logic:
    If Value is <= -1 then display "Early" else if Value is >-1 and <=5 then display "On-Time" else if Value is > 5 then display "Late".  The -1 and 5 values will be replaced with variables that will be required on the selection screen.
    This would return a grid as below:
    Key           Value    Calculated Field
    Record 1     -1           "Early"
    Record 2      2           "On-Time"
    Record 3      6           "Late"
    I haven't been able to figure out how to set up this field.  Any ideas?

    Hi,
    check these help links
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/da1640dc88e769e10000000a155106/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/95/1ae03b591a9c7ce10000000a11402f/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/80/1a6305e07211d2acb80000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/80/1a6312e07211d2acb80000e829fbfe/content.htm
    It's a big topic so it's not possible to write everything here.
    You can search the forums also.
    Thanks

  • Polling query

    Hi all,
    I am facing two problems in polling.
    1. I want to select fields from more than one table. Is that possible in polling designing steps.
    2. Currently I am using the Logical Delete in polling. The problem is, polling flag is getting updated even when my instance is not executing successfully. How I can remove this problem.
    Thanks.
    Edited by: vicky_007 on Sep 14, 2009 11:25 AM

    Is anybody here to reply :(

  • DB polling : query with subquery

    Hi,
    We are upgrading the 10g code to 11g, where one process has the DB polling with custom SQQL. This SQL has a subquery like,
    Select Name, ID, CID from tabl1 where lastdate + (select num_value from table2 where column2 = "xxx") <= sysdate
    We want the similar functionality in 11g. The upgraded code generated few artifiacts like toplink. We have bulilt that and deployed to server. But it is not polling the data eventhough the matching records are present in the tables.
    Please let us know how to fix this issue.
    Thanks,
    Vinoth

    Hi,
    Not sure about your question.
    But you say when you uss 01-apr-10 you get the expected results.
    So why dont you try using trunc on botht sides
    SELECT vfn.cat
      FROM vps_fishery_ner vfn, valid_fishery vf
    WHERE vfn.plan = vf.plan
       AND vfn.cat = vf.cat
       AND vf.permit_year = 2010
       AND vf.moratorium_fishery = 'T'
       AND vfn.vp_num = 211652
       AND vfn.ap_year = 2010
       AND vfn.plan = 'MUL'
       AND trunc(vfn.date_issued) = (SELECT MAX(trunc(date_issued))
                                FROM vps_fishery_ner
                               WHERE vp_num = 211652
                                 AND ap_year = 2010);Rememeber if you are couting on some Index to be used you might want to recheck.
    IN answer to your question why it does not return with subquery included, because the TIME PART is not the same.
    You yourself proved it by using the supplying only the date part.
    Regards,
    Bhushan

  • DBAdapter polling with logical delete x distrib polling x DB rows per trans

    Hi all.
    I'm trying to configure a DBAdapter with "logical delete" polling strategy, distributed polling (cluster environment) and a defined number of "Database Rows per Transaction".
    When I check the box "Distributed Polling", the SQL generated gets appended by "FOR UPDATE NOWAIT"
    However, when I set a value for "Database Rows per Transaction" the "FOR UPDATE NOWAIT" sql clause disappear.
    Is this a bug, or some limitation related to the "logical delete" strategy???
    Thanks
    Denis

    Hi All,
    Actually I'm also facing the same problem.
    Step I follwed:
    1) Created a job_table in database
    create talbe job_table(id, job_name, job_desc, job_status)
    2)created a bpel process to test the Inbound distributed polling.
    3)Configure the DBAdapter for polling.
    a)update a field in the job_table with logical delete.
    b)select the field name form the drop down
    c) change the read value-->Inprogress and unRead value--->Ready
    d) dont change the value for Reserved value
    e) select the check box for "distributed polling".
    f) the query will be appended with "For update NoWait."
    g)click next and then finish.
    4) Then i followed the below steps.
    To enable pessimistic locking, run through the wizard once to create an inbound polling query. In the Applications Navigator window, expand Application Sources, then TopLink, and click TopLink Mappings. In the Structure window, click the table name. In Diagram View, click the following tabs: TopLink Mappings, Queries, Named Queries, Options; then the Advanced… button, and then Pessimistic Locking and Acquire Locks. You see the message, "Set Refresh Identity Map Results?" If a query uses pessimistic locking, it must refresh the identity map results. Click OK when you see the message, "Would you like us to set Refresh Identity Map Results and Refresh Remote Identity Map Results to true?Ó Run the wizard again to regenerate everything. In the new toplink_mappings.xml file, you see something like this for the query: <lock-mode>1</lock-mode>.
    5) lock-mose is not changed to 1 in toplink_mappingss.xml
    Can we edit the toplink_mappings.xml manually.
    If yes, what allt he values Ineed to change in toplink_mappings.xml file, so that it will not pick the same record for the multiple times in clustered environment.
    Please help me out this is urgent.
    Thanking you in advance.

  • DbAdapter - Long Query

    Hi,
    I am using SOA Suite 11.1.1.1.5, BPEL 2.0 anda JCA dbAdapter.
    I have a query in DW that returns lots of rows.. ex: 10.000, 30.000 rows.
    I would like to know the best way to do this query, thinking in performance.
    Tks

    it gives an error like out of memory and crash the server.It is expected if you are reading a lot of data over a JDBC connection. Most probably you might be hitting OOM at RMI layer. So either use a lot of hardware or correct your design.
    For such use cases, I would prefer to call a stored procedure which will fetch the data, create a file and return the file location then using file/ftp adapter read the file (sync read/sync get) with streaming enabled and send it back to the caller. This can be implemented asynchronously as well. Still it is not the best design but given that you have limited choice, it may work.
    Regards,
    Anuj

  • DB Adapter Synchronous Polling

    Hi All
    I have seen many posts about DB Adapter Polling techniques, but all of them are related to a DBAdapter used to start a BPEL instance (a dbadapter connect to the first receive activity).
    I need to perform a database polling in the middle of the process. So, the process must call a DBAdapter to perform a polling, wait for the result and then go on.
    However, I have two issues:
    1) Is a polling DBAdapter synchronous or asynchronous (when used in the process middle)?
    2) It seems that is not possible to use parameters on polling WHERE clause... is it? There are some values I must pass to DBAdapter, to be used on where clause.
    Thanks.

    We had this and other issues when trying to use the polling adapter. What we wound up doing is writing our own async process that periodically runs the required queries (query followed by a wait inside of a while) This gave us more flexibility than the polling adapter in that it allowed us to use parameters inside of the WHERE clause for our query and the ability to taper off polling frequencies (once the process has waited for 5 minutes, it changes its frequency to every 10 minutes, etc.)
    We have since decided to switch to a pick instead of a wait, which allows us to prod an in-flight instance to immediately run its query.
    If you're really married to the idea of using the polling adapter, you may want to look at correlation sets, at least that's where I was told to look when I asked around about it.

  • Select Query resulting in Scientific Notation

    Hello all,
    I am running a Select query through a batch file that extracts data from an Oracle database. Several of the fields that I am extracting from contain numbers that are up to 38 digits long. When I extract the data, it converts the numbers into scientific notation and it is important for me to have the entire field. Is there something I can change to my query that will pull the data in its entire form? This is what I'm running now:
    select * FROM ML.APPT where APPTDATE >= to_date('01/1/2010','mm/dd/yyyy'
    I apologize in advance if this has been answered already.
    Thanks!

    >
    When the extractor finishes, it returns the data into a flat file.
    don't quite understand the TO_CHAR function. Does this function mean I need to say something like this: select "TO_CHAR('column name', 99999999999999999999999999999999999999" FROM ML.APPT where APPTDATE >= to_date('01/1/2010','mm/dd/yyyy')
    >
    Yes- if the tool you use to extract the data (your 'extractor') is converting the numeric data to a string then it is responsible for creating the string in the proper format. If the number is an integer that can have as many digits as you have '9's in your sample format string then that is what you need to do.
    Here is how sql*plus (Oracle's tool) will display the data using default settings
    SQL> select 12345678901234567890123456789012345678 no_format,
      2  to_char(12345678901234567890123456789012345678, '99999999999999999999999999
    999999999999') with_format
      3   from dual;
    NO_FORMAT WITH_FORMAT
    1.2346E+37  12345678901234567890123456789012345678
    SQL>
    ----- TOAD will display something similiar but the default uses more decimal digits in the scientific notation data
    NO_FORMAT,WITH_FORMAT
    1.23456789012346E37, 12345678901234567890123456789012345678You can either format the numeric data in the query using TO_CHAR or the 'extractor' can do it when it converts the data to a string.

  • Numeric data is not displayed in BI Publisher 11g report

    Hi,
    I'm using Oracle BI 11g (11.1.1.6.0).
    I'm experiencing a serious issue with numeric data in reports created with Publisher.
    When I define the query in the data model, numeric data gets declared as "integer" (even if it should be "double"). Anyway, when creating the layout all data is correctly shown.
    The issue emerges when I run the report in interactive mode: numeric data is not displayed at all.
    If I run it in HTML mode or other, I get proper results.
    I tried to explicitly CAST numeric data in the query to number(21, 6) but I get no different result.
    Any help or suggestion is warmly welcome.
    Thanks,
    Cristina

    Yes, assuming that you are using the Standalone version, following are some excerpt from user guide.
    10g see Oracle® Business Intelligence Publisher
    Report Designer's Guide
    Release 10.1.3.4
    Part No. E12187-01
    Chapter 6 Building a Data Template
    Supported Column Types
    CLOB (conditionally supported)
    The CLOB must contain text or XML. Data cannot be escaped inside the CLOB column.
    And for 11g see
    Oracle® Fusion Middleware
    Data Modeling Guide for Oracle Business Intelligence Publisher
    Release 11g (11.1.1)
    Part No. E18862-01
    Chapter 3 Creating Data Sets
    Using Data Stored as a Character Large Object (CLOB) in a Data Model
    BI Publisher supports using data stored as a character large object (CLOB) data type in
    your data models. This feature enables you to use XML data generated by a separate
    process and stored in your database as input to a BI Publisher data model.
    Use the Query Builder to retrieve the column in your SQL query, then use the data
    model editor to specify how you want the data structured. When the data model is
    executed, the data engine can structure the data either as:
    • a plain character set within an XML tag name that can be displayed in a report (for
    example, an Item Description)
    • structured XML
    Cheers,
    ND

  • DB adapter polling error

    Dear All,
    I am getting below error while polling from a SQL Server DB
    Database Adapter PROTEST <oracle.tip.adapter.db.InboundWork handleException> Encountered a fatal exception while polling. Will continue polling but with minimal logging. Please investigate the fault and manually stop polling from the console if in development and this appears to be a modeling mistake. BINDING.JCA-11624
    Supplemental Detail DBActivationSpec Polling Exception.
    Query name: [PROTESTSelect], Descriptor name: [PROTEST.Mes2Otcmessage]. Polling the database for events failed on this iteration.
    Caused by java.sql.SQLSyntaxErrorException: [FMWGEN][SQLServer JDBC Driver][SQLServer]Invalid object name 'MES2OTCMessage'..
    This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-208" to your deployment descriptor (i.e. weblogic-ra.xml). This polling process will shut down, unless the fault is related to processing a particular row, in which case polling will continue but the row will be rejected (faulted).
    at oracle.tip.adapter.db.exceptions.DBResourceException.createNonRetriableException(DBResourceException.java:682)
    at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:648)
    at oracle.tip.adapter.db.exceptions.DBResourceException.inboundReadException(DBResourceException.java:483)
    at oracle.tip.adapter.db.InboundWork.handleException(InboundWork.java:922)
    at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:826)
    at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:578)
    at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
    at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
    at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
    at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    Caused by: java.sql.SQLSyntaxErrorException: [FMWGEN][SQLServer JDBC Driver][SQLServer]Invalid object name 'MES2OTCMessage'.
    at weblogic.jdbc.sqlserverbase.dda4.b(Unknown Source)
    at weblogic.jdbc.sqlserverbase.dda4.a(Unknown Source)
    at weblogic.jdbc.sqlserverbase.dda3.b(Unknown Source)
    at weblogic.jdbc.sqlserverbase.dda3.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.v(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddq.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.a(Unknown Source)
    at weblogic.jdbc.sqlserver.ddj.m(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddde.e(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddde.a(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddb9.a(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddde.v(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddde.u(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddb9.executeQuery(Unknown Source)
    at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:135)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:888)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:598)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:526)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeCall(AbstractSession.java:980)
    at org.eclipse.persistence.internal.sessions.IsolatedClientSession.executeCall(IsolatedClientSession.java:131)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.cursorSelectAllRows(DatasourceCallQueryMechanism.java:74)
    at org.eclipse.persistence.queries.CursoredStreamPolicy.execute(CursoredStreamPolicy.java:64)
    at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:395)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1076)
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:740)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1036)
    at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:380)
    at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2392)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1291)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1273)
    at oracle.tip.adapter.db.inbound.DestructivePollingStrategy.poll(DestructivePollingStrategy.java:456)
    at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:699)
    Plese help.
    Thanks,

    Hi,
    Please verify first that you can run a simple query (not polling) using the same data source.
    If not, probably there is a problem with the data source definition.
    If yes, verify your polling query is correct, restart SOA server and redeploy your process.
    Please post your results...
    Arik

  • Query in ASWE XML code doesn't return data

    Hello, since people on the Oracle Metalink site are to lazy to give an answer to this question. I'll try it via this forum. Here we go:
    I'm developing wireless applications running on Oracle9i Application Server Wireless Edition. I'v tried to implement the employee sample from Oracle Online Mobile Studio (studio.oraclemobile.com). The sample name is employee.jsp. This sample combines XML code with JSP.
    (code at the end of the text)
    When I test the sample I get no query results.
    When you take the first option for example, (search by dept number) the query result will not be displayed. I think it has something to do with the "executeQuery" line.
    rset = stmt.executeQuery("select * from EMP where EMPNO='" + empNum + "'");
    After giving the following input (employeenumber) 7369 (which excists in the
    database). I get the following errors:
    The panama server log returns the following error:
    1/14/02 5:19:28 PM NOTIFY : [Thread-13]
    core.XSLTransformerImpl.getXSLProc(XSLTransformerImpl.java:120)
    Create 10 number of XSL-processor for TINY_HTML
    1/14/02 5:19:35 PM NOTIFY : [Thread-15]
    adapter.URLAdapter.invoke(URLAdapter.java:240)
    URL = http://host/portal/test/employee.jsp
    1/14/02 5:19:37 PM NOTIFY : [Thread-17] adapter.URLAdapter.invoke(URLAdapter.java:240)
    URL =http://host/portal/test/employee.jsp?choice=empNum
    1/14/02 5:19:49 PM NOTIFY : [Thread-19]adapter.URLAdapter.invoke(URLAdapter.java:240)
    URL =http://host/portal/test/employee.jsp?&empNum=7369
    1/14/02 5:19:50 PM ERROR : [Thread-19]rt.common.Controller.reportServiceInvocationError(Controller.java:707)
    Service Invocation Error: Stream closed.
    The jserv.log returns the following error:
    [14/01/2002 17:19:50:431 CET] Invalid column name
    java.sql.SQLException: Invalid column name
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
    at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:4383)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:667)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1374)
    at portal.test._employee._jspService(_employee.java:201)
    at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java)
    at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java)
    at oracle.jsp.JspServlet.doDispatch(JspServlet.java)
    at oracle.jsp.JspServlet.internalService(JspServlet.java)
    at oracle.jsp.JspServlet.service(JspServlet.java)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
    at org.apache.jserv.JServConnection.processRequest(JServConnection.java:402)
    at org.apache.jserv.JServConnection.run(JServConnection.java:260)
    at java.lang.Thread.run(Thread.java:479)
    Does this have something to do with the encoding of the query result in the select statement? As you can see the variable is in the requeststring (URL = http://host/portal/test/employee.jsp?&empNum=7369)
    My database connection works fine (I've also tested the query using SQL plus and the SQL adapter also works).
    Is this the right statement?: ("select * from EMP where EMPNO='" + empNum + "'");
    I can not do anything with the error in the jserv.log (java.sql.SQLException: Invalid column name).
    The columnname EMPNO excists in the example table. The query in SQL plus gives a result.
    Can someone give my any suggestions?
    Thanks in advance.
    Thomas Wesseling, UCC
    ### Code of employee.jsp ###
    <?xml version="1.0" encoding="UTF-8"?>
    <SimpleResult>
    <SimpleContainer>
    <%@ page language="java" import="java.sql.*, java.util.*, java.text.* "%>
    <%
    //URL variables
    String choice = request.getParameter("choice");
    String empNum = request.getParameter("empNum");
    String lastName = request.getParameter("lastName");
    String jobTitle = request.getParameter("jobTitle");
    String deptNum = request.getParameter("deptNum");
    String notFoundMsg = null; //String for containing varying not found msg
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@172.16.0.51:1521:ora816", "scott", "tiger");
    Statement stmt = conn.createStatement();
    ResultSet rset = null;
    //**** Start of service - first card ****
    if (choice==null && empNum==null && lastName==null &&
    jobTitle==null && deptNum==null)
    %>
    <SimpleMenu title="Employee Search by:">
    <SimpleMenuItem target="employee.jsp?choice=empNum">Employee Number</SimpleMenuItem>
    <SimpleMenuItem target="employee.jsp?choice=lastName">Name</SimpleMenuItem>
    <SimpleMenuItem target="employee.jsp?choice=jobTitle">Job Title</SimpleMenuItem>
    <SimpleMenuItem target="employee.jsp?choice=deptNum">Dept Number</SimpleMenuItem>
    </SimpleMenu>
    <%
    //**** SECOND CARD - which search criteria ****
    if (choice!=null)
    if (choice.equals("empNum") && empNum == null)
    %>
    <!-- show search by employee number -->
    <SimpleForm target="employee.jsp?">
    <SimpleFormItem name="empNum" format="*N">Enter Employee Number: </SimpleFormItem>
    </SimpleForm>
    <%
    else if (choice.equals("lastName") && lastName == null)
    %>
    <!-- show search by last name -->
    <SimpleForm target="employee.jsp?">
    <SimpleFormItem name="lastName" format="*A">Enter Last Name: </SimpleFormItem>
    </SimpleForm>
    <%
    else if (choice.equals("jobTitle") && jobTitle == null)
    %>
    <!-- show search by job title -->
    <SimpleForm target="employee.jsp?">
    <SimpleFormSelect name="jobTitle" title="Enter Job Title:">
    <SimpleFormOption value="CLERK">Clerk</SimpleFormOption>
    <SimpleFormOption value="SALESMAN">Salesman</SimpleFormOption>
    <SimpleFormOption value="MANAGER">Manager</SimpleFormOption>
    <SimpleFormOption value="ANALYST">Analyst</SimpleFormOption>
    <SimpleFormOption value="PRESIDENT">President</SimpleFormOption>
    </SimpleFormSelect>
    </SimpleForm>
    <%
    else if (choice.equals("deptNum") && deptNum == null)
    %>
    <!-- show search by dept number -->
    <SimpleForm target="employee.jsp?">
    <SimpleFormItem name="deptNum" format="*N">Enter Dept Number: </SimpleFormItem>
    </SimpleForm>
    <%
    //**** THIRD CARD - query DB based on criteria ****
    //**** empNum entered as search criteria ****
    if (empNum != null) //empNum is entered as search criteria- NEED TO TEST FOR NON-int
    rset = stmt.executeQuery("select * from EMP where EMPNO='" + empNum + "'");
    if (rset.next()) //if rset returns data, show data
    do {
    %>
    <%@ include file="showResult.jsp" %>
    <%
    } while (rset.next());
    } //end rset.next() is true
    else
    notFoundMsg = "Employee Number " + empNum + " Not Found";
    %>
    <%@ include file="notFound.jsp" %>
    <% }
    } //end if empNum != null
    //**** lastName as search criteria ****
    else if (lastName != null)
    rset = stmt.executeQuery("select * from EMP where ENAME='" + lastName + "'");
    if (rset.next())
    do {
    %>
    <%@ include file="showResult.jsp" %>
    <%
    } while (rset.next());
    } //end rset.next is true
    else
    notFoundMsg = "Name " + lastName + " Not Found";
    %>
    <%@ include file="notFound.jsp" %>
    <% }
    } //end if lastName != null
    //**** jobTitle as search criteria ****
    else if (jobTitle != null)
    rset = stmt.executeQuery("select * from EMP where JOB='" + jobTitle + "'");
    if (rset.next())
    do {
    %>
    <%@ include file="showResult.jsp" %>
    <%
    } while (rset.next());
    } //end rset.next is true
    else
    notFoundMsg = "Job Title " + jobTitle + " Not Found";
    %>
    <%@ include file="notFound.jsp" %>
    <% }
    } //end if jobTitle != null
    //**** deptNum as search criteria ****
    else if (deptNum != null) //deptNum is entered as search criteria
    rset = stmt.executeQuery("select * from EMP where DEPTNO='" + deptNum + "'");
    if (rset.next())
    do {
    %>
    <%@ include file="showResult.jsp" %>
    <%
    } while (rset.next());
    else
    notFoundMsg = "Dept Number " + deptNum + " Not Found";
    %>
    <%@ include file="notFound.jsp" %>
    <% }
    } //end if deptNum != null
    conn.close();
    %>
    </SimpleContainer>
    </SimpleResult>
    ### Code of NotFound.jsp ###
    <SimpleText>
    <SimpleTextItem><%=notFoundMsg%></SimpleTextItem>
    <Action label="Search" type="ACCEPT" task="GO" target="employee.jsp?"></Action>
    </SimpleText>
    ### Code of ShowResult.jsp ###
    <%
    //format date from query
    java.sql.Date date = rset.getDate("HIREDATE");
    String hireDate = DateFormat.getDateInstance(DateFormat.MEDIUM).format(date);
    %>
    <SimpleText>
    <SimpleTextItem>Emp#: <%=rset.getString("EMPNO")%></SimpleTextItem>
    <SimpleTextItem>Name: <%=rset.getString("ENAME")%></SimpleTextItem>
    <SimpleTextItem>Job: <%=rset.getString("JOB")%></SimpleTextItem>
    <SimpleTextItem>Manager: <%=rset.getString("MGR")%></SimpleTextItem>
    <SimpleTextItem>Hire Date: <%=hireDate %></SimpleTextItem>
    <SimpleTextItem>Salary: <%=rset.getString("SAL")%></SimpleTextItem>
    <SimpleTextItem>Commission: <%=rset.getString("COMM")%></SimpleTextItem>
    <SimpleTextItem>Dept#: <%=rset.getString("DEPTNO")%></SimpleTextItem>
    <SimpleTextItem>Email: <%=rset.getString("EMAIL")%></SimpleTextItem>
    <SimpleTextItem>Phone: <%=rset.getString("PHONE")%></SimpleTextItem>
    <Action label="Search" type="SOFT1" task="GO" target="employee.jsp"></Action>
    <Action label="Call" type="OPTIONS" task="CALL" number="<%=rset.getString("PHONE")%>"></Action>
    </SimpleText>

    Is EMPNO really a string field and not a numeric field? Your query is like
    ... where EMPNO='1949'
    and should it perhaps be
    ... where EMPNO=1949
    ?

  • Polling for new Data in Tables with SQL-functions

    Hi
    In my table I have 2 columns:
    event_state : integer (0 = unread, 1 = read)
    min_process_time : date
    In the DB-Adapter-Wizard I can configure my event_state-Field for using as logical delete field. In the SQL-Query there is a
    ... WHERE event_state=0
    But, I only want to query all new entries in this table, where
    min_process_time > SYSDATE.
    How can I configure my toplink-mapping, that SYSDATE can be used in the polling-query? If I use plain-sql instead of the expression from the Wizard (last page), then this sql-statement is ignored. In an expression I only can use a constant-value.
    Any idea?
    Thanks
    Gregor

    Hi
    I am creating a database Polling (logical delete OPEN to CLOSED) adapter that polls a table for records which have a "SCHEDULED" date field.
    The Polling Adapter should pick up those records where the status is OPEN and SCHEDULED<=SYSDATE.
    DB Adapter wizard does not allows this where clause(SCHEDULED<=SYSDATE) to be set; so i tried modifying the Toplink SQL with custom SQL. But it does not works. Please suggest a workaround.
    Please help.
    Thanks
    Debashis

  • DB Adapter Locking Database Rows in Distributed Delete Polling Strategy

    I am stuck with an issue. To explain the issue in simple steps
    I am creating a Database Polling Adapter with Distributed Delete Polling Strategy in OSB for running in Clustered Environment.
    We are custom SQL so that the records are not deleted after they are fetched but only a column Status Column is getting Updated.
    The Polling query and Delete SQL is as follows
    <query name="ReqJCAAdapterSelect" xsi:type="read-all-query">
    <criteria operator="equal" xsi:type="relation-expression">
    <left name="Status" xsi:type="query-key-expression">
    <base xsi:type="base-expression"/>
    </left>
    <right xsi:type="constant-expression">
    <value>READY</value>
    </right>
    </criteria>
    <reference-class>ReqJCAAdapter.ItemTbl</reference-class>
    <refresh>true</refresh>
    <remote-refresh>true</remote-refresh>
    <lock-mode>lock-no-wait</lock-mode>
    <container xsi:type="list-container-policy">
    <collection-type>java.util.Vector</collection-type>
    </container>
    </query>
    <delete-query>
    <call xsi:type="sql-call">
    <sql>update ITEM_TBL
    set STATUS = 'IN_PROCESS'
    where ID = #ID</sql>
    </call>
    </delete-query>
    In case of any error in Service Error handler the Status is being updated to ERROR.
    Now the problem which I am facing is in the request Pipeline if we want to do any update on the same record we detect that in ROW is locked and is not allowed to do an update and because of this the process can not proceed.
    Also if any error occurs in Request pipeline then from the Service Error handler we are supposed to Update the status as ERROR, but the same thing is happening and the process can not proceed.
    but In the response Pipeline we can successfully update the status of the same record.
    We have tried to use both XA and NON-XA Datasource but no luck.
    Any help in this is appreciated.
    Regards,
    Dilip

    I am stuck with an issue. To explain the issue in simple steps
    I am creating a Database Polling Adapter with Distributed Delete Polling Strategy in OSB for running in Clustered Environment.
    We are custom SQL so that the records are not deleted after they are fetched but only a column Status Column is getting Updated.
    The Polling query and Delete SQL is as follows
    <query name="ReqJCAAdapterSelect" xsi:type="read-all-query">
    <criteria operator="equal" xsi:type="relation-expression">
    <left name="Status" xsi:type="query-key-expression">
    <base xsi:type="base-expression"/>
    </left>
    <right xsi:type="constant-expression">
    <value>READY</value>
    </right>
    </criteria>
    <reference-class>ReqJCAAdapter.ItemTbl</reference-class>
    <refresh>true</refresh>
    <remote-refresh>true</remote-refresh>
    <lock-mode>lock-no-wait</lock-mode>
    <container xsi:type="list-container-policy">
    <collection-type>java.util.Vector</collection-type>
    </container>
    </query>
    <delete-query>
    <call xsi:type="sql-call">
    <sql>update ITEM_TBL
    set STATUS = 'IN_PROCESS'
    where ID = #ID</sql>
    </call>
    </delete-query>
    In case of any error in Service Error handler the Status is being updated to ERROR.
    Now the problem which I am facing is in the request Pipeline if we want to do any update on the same record we detect that in ROW is locked and is not allowed to do an update and because of this the process can not proceed.
    Also if any error occurs in Request pipeline then from the Service Error handler we are supposed to Update the status as ERROR, but the same thing is happening and the process can not proceed.
    but In the response Pipeline we can successfully update the status of the same record.
    We have tried to use both XA and NON-XA Datasource but no luck.
    Any help in this is appreciated.
    Regards,
    Dilip

  • Polling using WCF SQL Adapter

    Hi - I have to develop this in BizTalk
    There is a table in SQL database where BizTalk needs to poll the data using WCF SQL Adapter.
    How and what query/stored proc do I need to write ?
    and how about polling interval should I mention.
    Is there any detailed blog or link which clearly explains this, will be helpful
    MBH

    The first thing that you should remember is that the most effective way of getting data from SQL would be if you could remove the records after reading them. This was something that the native SQL Server adapter supported. For WCF-SQL, the way to achieve
    this is to
    Create a SP which is what you will specify as the execute statement for your adapter. This SP would, on the basis of TOP 1, get the ID, read the record and delete it. Then it would return the read data. You will generate schemas for this SP and deploy them
    for subscribing to the received messages.
    You will create a query that returns the count of records from the said table which you will use as the polling query. This will ensure that the adapter uses this on the configured interval to see if data exists. If it exists, it would use the execute statement
    (invoking your SP) to get the data.
    There is an option to keep executing the SP while data is available. This ensures that if more than ONE record is inserted into your table, all the records would be picked up after the first polling interval (as opposed to poll, pick-up one, poll and then
    pick up the other, etc.). Be careful while setting the polling interval (you cannot go beyond 1 sec) since this depends on your SQL servers ability to process the data.
    With regards to documentation, I'd refer you to
    http://msdn.microsoft.com/en-us/library/dd788532.aspx - Polling SQL Server by using the WCF-SQL Adapter.
    Regards.

Maybe you are looking for

  • Can not update music library

    When I connect my ipod to my computer it tells me that I have 5 authorized computers and this device can no longer be updated.  I must deauthorize on of the other computers.  Under support it says that I should deauthorize all of the computers.  Will

  • SQL Exceptions, transport-level errors on SharePoint 2010 App Server

    SharePoint 2010 becomes inaccessible 2-3 times per day. It happens at approximately the same times: 8 PM, 1 AM and 1 PM. It is inaccessible for about 3-4 minutes and then comes back on its own. During the time it is down, we see the following errors

  • Want each row reference in advance table

    Hi all , To validate specific row in Advance table , I mush have a reference to that row so, can anybody tell how i will get the row reference ? I tried a lot but could not find anything. Actual issue : whenever user changes any one of the field valu

  • Bridge over Dropbox?

    A few recent blog posts have really convinced me to start using Bridge to manage and view a huge and very old collection of inspiration and reference images. Bridge's features like collections, favorites, and keywords are exactly what I need. But I'd

  • Interface between Computer-aided design (CAD) and Businees One

    Hi, I would like to know if someone as already have to link BOM from CAD software in Business ONe How can it works, using DTW, with a program ?