EXEC SQL insert null date

Hello,
Could anyone please tell me how I can insert a null date into an oracle table dynamically?  Here are my codes:
DATA: LV_KEY(10),
            LV_DATE TYPE D.
TRY.
  EXEC SQL.
    INSERT INTO Z_ORACLE_TABLE
    ( KEY_FIELD, OPTION_DATE )
    VALUES
    ( :LV_KEY, TO_DATE( :LV_DATE, 'YYYYMMDD' ) )
  ENDEXEC.
ENDTRY.
Somehow, Oracle gives an error if LV_DATE is initial ('00000000'), saying the date is not between -49xx to ....
I could have done the following but it is kind of dumb:
TRY.
  IF :LV_DATE IS INITIAL.
    EXEC SQL.
      INSERT INTO Z_ORACLE_TABLE
      ( KEY_FIELD, OPTION_DATE )
      VALUES
      ( :LV_KEY, NULL )
    ENDEXEC.
  ELSE.
    EXEC SQL.
      INSERT INTO Z_ORACLE_TABLE
      ( KEY_FIELD, OPTION_DATE )
      VALUES
      ( :LV_KEY, TO_DATE( :LV_DATE, 'YYYYMMDD' ) )
    ENDEXEC.
ENDTRY.
Thanks in advance for any suggestions.

Hi Sau Tong Calvin,
don't you mess up INITIAL ans NULL values.
In ABAP, every data type has an initial value. As opposed to other programming languages, all variables are set to their initial value before use, numeric fields get 0, TYPE N which is numeric character will take 0 in all places, strings are empty and character fields are space. ABAP date fields are type N technically, so will be '00000000'.
You can store as this using open SQL.
NULL value means there is nothing stored for this field - this may save disk space if only few records have values stored for the field. But it will make problems in a WHERE clause of selection because SPACE matches initial values but not NULL values and opposite.
I don't know too much about native EXEC SQL because I never needed in the last decade. Hopefully you can solve the task using ABAP open SQL.
Regards,
Clemens

Similar Messages

  • SQL Insert Statement Data Type Mismatch Error

    I am doing a very simple web application that has a Microsoft Access database as the data source. I have been able to sucessfully create update and query statements using parameters but am having issues with an insert statement. I am using JSTL 1.1.2
    The following code creates the data type mismatch error.
    <sql:update
         sql="insert into tblTtoF(TFToolID,TFFeatID) values(?,?)">
            <sql:param value='$(ID}'/>
         <sql:param value='${feature}'/>
            </sql:update>The table has NUMBER as the data type for both of these fields and the variables I am feeding into it are both numbers. If I hard code the first number into the sql statement then it works. I have tried swapping the variables around and as long as the first one is hard coded the parameter for the second one works no matter which is first or second.
    However I can get the following code to work, which of course leaves me vulnerable to sql injection attacks which is not really a good thing.
    <sql:update>
         insert into tblTtoF(TFToolID,TFFeatID) values('<c:out value="${ID}"/>','<c:out value="${feature}"/>')
            </sql:update>So I am just looking for any suggestions as to why my first piece of code doesn't work seeing as it is the simplest of SQL statements and the most standard syntax.
    Thanks

    I changed it to the following
         <c:set var="featurenew" value="${0 + feature}"/>
         <c:set var="IDnew" value="${0 + param.toolID}"/>
              <sql:update
              sql="insert into tblTtoF(TFToolID,TFFeatID) values(?,?)">
              <sql:param value='$(IDnew}'/>
              <sql:param value='${featurenew}'/>
              </sql:update>And got the following error in the localhost.log
    31/07/2006 09:31:41 org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    java.sql.SQLException: SQL Exception : [Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented
         at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setObject(JdbcOdbcPreparedStatement.java:1437)
         at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setObject(JdbcOdbcPreparedStatement.java:1072)
         at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setObject(JdbcOdbcPreparedStatement.java:1063)
         at org.apache.taglibs.standard.tag.common.sql.UpdateTagSupport.setParameters(UpdateTagSupport.java:254)
         at org.apache.taglibs.standard.tag.common.sql.UpdateTagSupport.doEndTag(UpdateTagSupport.java:156)
         at org.apache.jsp.dataUpdated_jsp._jspx_meth_sql_update_1(dataUpdated_jsp.java:975)
         at org.apache.jsp.dataUpdated_jsp._jspx_meth_c_if_0(dataUpdated_jsp.java:879)
         at org.apache.jsp.dataUpdated_jsp._jspx_meth_c_forEach_0(dataUpdated_jsp.java:680)
         at org.apache.jsp.dataUpdated_jsp._jspService(dataUpdated_jsp.java:151)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
         at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
         at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
         at java.lang.Thread.run(Thread.java:595)
    I have also tried the following in the past with no luck
    <fmt:parseNumber value="${ID}" type="number" var="IDnew"/>
    AND......
    <sql:query
       sql="select TFToolID from tblTtoF where TFToolID = ?"
       var="toolresults">
       <sql:param value="${ID}"/>
    </sql:query>
    <c:forEach var="getID" items="${toolresults.rows}">
         <c:set var="theID" value="${getID.TFToolID}"/>
    </c:forEach>
    AND when that didn't work, added this....
    <fmt:parseNumber value="${theID}" var="IDnew"/>

  • EXEC SQL Error: ORA-01401: Inserted value too large for column

    Getting this SQL Error: ORA-01401: Inserted value too large for column..on an EXEC SQL Insert statement when writing to an
    external Oracle DB from SAP.
    On further analysis..it appears that this happens to the fields..when the string length matches the field length.
    Example:  Plant field is defined as char(4) on the SAP side and it is a Varchar2(4) on the Oracle side.
    When a value like '1015' is passed thru a variable in the insert statement then this ORA-01401 error pops up.
    No error:
       - if the value '1015' is passed directly in the insert statement to the external table  (or)
       - when a value with 3 chars or less(like the first three chars..101) is passed thru a variable  defined as 'Plant(4) type c'.
       - when using EXEC sql within SAP
       - when reading from the external db table
    This was working ok until the  Oracle Patch P9147110 was installed recently.
    Any suggestions !

    Hello Dvas,
    what's the characterset of your external database?
    What's the column definition in your external database (byte or character based)?
    If you use a characeterset like UTF8 it is possible, that one character needs more than one byte and then you will run into such kind of issues if the definition is too small.
    Regards
    Stefan

  • How to use INSERT in EXEC SQL ...... ENDEXEC ?

    Hi,
    The following code;
    DATA: BEGIN OF str_insert,
            a(3) TYPE c,
            b(3) TYPE c,
          END OF str_insert.
    EXEC SQL.
      SET CONNECTION DEFAULT
    ENDEXEC.
    str_insert-a = 'a'.
    str_insert-b = 'b'.
    EXEC SQL.
    INSERT INTO ZSAP  VALUES :str_insert
    ENDEXEC.
    The Structure of the ZSAP table (There is no data in ZSAP);
    A CHAR 3 (Primary Key)
    B CHAR 3
    I cannot instert a record to this table it throughs the following error;
    Runtime Errors         DBIF_DSQL2_SQL_ERROR  
    Exceptn                CX_SY_NATIVE_SQL_ERROR
    How could use a structure to insert values into ZSAP?
    Thanks,
    Kishan

    Hello..
      loop at T_PC.
        loop at T_PCD .
          at new NUMREFERENCIA.
            exec sql.
             INSERT INTO tblPolizaContableR3
                (LibroMayor, PeriodoContable, Prefijo, NumReferencia,
                Fecha, FuenteDiario, ComentarioPoliza, Moneda,
                TipoCambio, RefExternaID1, RefExternaID2, RefExterna1,
                RefExterna2, DescRefExterna)
             VALUES (:T_PC-LIBROMAYOR, :T_PC-PERIODOCONTABLE,
              :T_PC-PREFIJO, :T_PC-NUMREFERENCIA, :T_PC-FECHA,
              :T_PC-FUENTEDIARIO, :T_PC-COMENTARIOPLIZA, :T_PC-MONEDA,
              :T_PC-TIPOCAMBIO, :T_PC-REFEXTARNAID1, :T_PC-REFEXTERNAID2,
              :T_PC-REFEXTERNA1, :T_PC-REFEXTERNA2, :T_PC-DESCREFEXTERNA)
            endexec.
          endat.
            exec sql.
             INSERT INTO tblPolizaContableDetR3
                (LibroMayor, PeriodoContable, Prefijo, NumReferencia,
                Partida, Cuenta, CuentaIMSA, CCostoIMSA,
                Cargo, Abono, ComentarioPartida)
             VALUES (:T_PCD-LIBROMAYOR, :T_PCD-PERIODOCONTABLE,
              :T_PCD-PREFIJO, :T_PCD-NUMREFERENCIA, :T_PCD-PARTIDA,
              :T_PCD-CUENTA, :T_PCD-CUENTAIMSA, :T_PCD-CCOSTOIMSA,
              :T_PCD-CARGO, :T_PCD-ABONO, :T_PCD-COMENPARTIDA)
            endexec.   
        endloop.
    Hope this help you.
    Regards, Gustavo Estrada

  • Native SQL: insert data into oracle database, no return message.

    hi,
    the statement : insert into <TableName> values (Source)
    how can I know if the data have already insert to the database table?
    now I have a program have this problem: the data has already exist, but there's no error message return when insert the same data again.
    data: dbs like dbcon-con_name value 'HRGK',
                       dbtype type dbcon_dbms.
    data: sqlerr_ref type ref to cx_sql_exception,
             exc_ref    type ref to cx_sy_native_sql_error,
             error_text type string.
    data: cnt type i,
            i(2) type c.
    set locale language 'E'.
    EXEC SQL.
      CONNECT TO :DBS
    ENDEXEC.
    EXEC SQL.
      SET CONNECTION :DBS
    ENDEXEC.
    EXEC SQL.
      SELECT COUNT(*) from org_unit into :cnt
    ENDEXEC.
    write: / cnt.
    *do.
    i = 'A'.               
    try.
        EXEC SQL.
          BEGIN
           insert into ORG_UNIT ( ORGAN_ID, UNIT_NO, UNIT_NAME, PARENT_ID)
                         values ( 'A', '123412', 'SDFSG', 'DDS');                     " ORGAN_ID is primary key
    " If the data 'A' has already exist in database ORG_UNIT, it will show error message
    " But if I use :I instead 'A', it will not show error message.
            IF SQL%FOUND THEN
               COMMIT;
            END IF;
          END;
        endexec.
        EXEC SQL.
          SELECT COUNT(*) from ORG_UNIT into :cnt
        ENDEXEC.
        write: / cnt.
    catch cx_sy_native_sql_error into exc_ref.
        error_text = exc_ref->get_text( ).
        write: / error_text.
      catch cx_sql_exception into sqlerr_ref.
        perform handle_sql_exception using sqlerr_ref.
    endtry.
    EXEC SQL.
      disconnect :DBS
    ENDEXEC.
    *enddo.
    *&      Form  handle_sql_exception
    form handle_sql_exception
      using p_sqlerr_ref type ref to cx_sql_exception.
      format color col_negative.
      if p_sqlerr_ref->db_error = 'X'.
        write: / 'SQL error occured:', p_sqlerr_ref->sql_code,
               / p_sqlerr_ref->sql_message.                     "#EC NOTEXT
      else.
        write:
          / 'Error from DBI (details in dev-trace):',
            p_sqlerr_ref->internal_error.                       "#EC NOTEXT
      endif.
    endform.                    "handle_sql_exception
    please help to see the words:
    *" If the data 'A' has already exist in database ORG_UNIT, it will show error message*
    *" But if I use :I instead 'A', it will not show error message.*
    in the program.
    Thanks a lot!

    resumption and jer,
    Sorry I cannot format the code for easy reading!
    The page is submitting to itself. See action = \"$uri\". I used the same logic to enter SELECT querries into the database. It pulls and displays data back on the webpage. The code I used for this is below. Compare it with the one above for inserting data into the table.
    <?php
    // connect to oracle
    $username = "xxxxx";
         $paswd = "yyyyy";
         $dbstring = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)".
              "(HOST=patriot.gmu.edu)(PORT=1521))".
              "(CONNECT_DATA=(SID=COSC)))";
         $db_conn = ocilogon($username, $paswd, $dbstring);
    // username and password will be unset if they weren't passed,
    // or if they were wrong
    if( !isset($query)) {
    // just print form asking for account details
    echo "<form action=\"$uri\" method=post>\n";
    echo "<p>Enter Query: ";
    echo "<input type=text size=100 maxlength=200 name=query value=\"$query\">\n";
    echo "<br><input type=submit name=submit value=Submit>\n";
    echo "</form>\n";
    exit;
    // remove unwanted slashes from the query
    $query = stripslashes($query);
    // run the query
    $stmt = OCIParse($db_conn, $query);
    OCIExecute($stmt, OCI_DEFAULT);
    // Open the HTML table.
    print '<table border="1" cellspacing="0" cellpadding="3">';
    // Read fetched headers.
    print '<tr>';
    for ($i = 1;$i <= ocinumcols($stmt);$i++)
    print '<td class="e">'.ocicolumnname($stmt,$i).'</td>';
    print '</tr>';
    // Read fetched data.
    while (ocifetch($stmt))
    // Print open and close HTML row tags and columns data.
    print '<tr>';
    for ($i = 1;$i <= ocinumcols($stmt);$i++)
    print '<td class="v">'.ociresult($stmt,$i).'</td>';
    print '</tr>';
    // Close the HTML table.
    print '</table>';
    OCIFreeStatement($stmt);
    OCILogoff($db_conn);
    ?>

  • To insert " NULL " in MS SQL Database

    Hi Friends,
    We have a scenario where a decimal value is sent from the source and it has to be updated in the MS SQL Database accordingly. If the data is sent for the decimal field, the decimal value gets updated.
    We need to insert " NULL " in the database, if no data is passed for that particular field.
    Kindly help us in achieving this functionality.
    Regards,
    Sherin Jose P

    in the adapter -> processing tab use the option
    XML Schema Interpreter
    Field
    Entry
    Key Tags Mandatory
    Set the indicator to specify that there must be conditions in the key tag.
    Interpretation of Empty String Values
    Specify how empty text fields are to be handled.
    u25CF      NULL value
    In the case of INSERT and UPDATE statements, empty fields are handled like NULL fields (do not exist) and are not inserted in the database.
    u25CF      Empty string
    In the case of INSERT and UPDATE statements, empty texts are inserted in the columns.
    http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm

  • Create data base table with EXEC SQL

    Hello,
    I nead to create o data base table with EXEC SQL in an Abap program.
    My code is :
    TRY.
       EXEC SQL.
          CREATE table zt_hello ( mandt char(4) NOT NULL,
                                  kunnr char(10) NOT NULL,
                                  PRIMARY KEY (mandt, kunnr) )
        ENDEXEC.
      CATCH cx_sy_native_sql_error INTO exc_ref.
        error_text = exc_ref->get_text( ).
    ENDTRY.
    IF sy-subrc = 0.
      COMMIT WORK.
    ENDIF.
    But it still not working.
    Can you help me please.
    Thanks.
    Edited by: widad soubhi on Jul 14, 2010 5:26 PM

    Please refer this code
    REPORT z_struct_create .
    DATA: my_row(500) TYPE c,
    my_file_1 LIKE my_row OCCURS 0 WITH HEADER LINE.
    DATA: dd02v TYPE dd02v.
    DATA: my_file_tab1 LIKE dd03p OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text
    NO INTERVALS.
    PARAMETERS:
    name TYPE ddobjname,
    testo TYPE text40,
    file_1 LIKE rlgrap-filename.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK blk.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR file_1.
    PERFORM file_selection USING file_1.
    INITIALIZATION.
    text = text-001.
    START-OF-SELECTION.
    IF file_1 IS INITIAL.
    MESSAGE ID 'Z0017_BDI' TYPE 'I' NUMBER 001.
    EXIT.
    ENDIF.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    filename = file_1
    filetype = 'ASC'
    TABLES
    data_tab = my_file_1.
    IF sy-subrc 0.
    MESSAGE ID 'Z0017_BDI' TYPE 'I' NUMBER 002.
    EXIT.
    ENDIF.
    LOOP AT my_file_1.
    IF sy-tabix > 1.
    CLEAR my_file_tab1.
    SPLIT my_file_1 AT ';' INTO
    my_file_tab1-fieldname
    my_file_tab1-datatype
    my_file_tab1-leng
    my_file_tab1-decimals
    my_file_tab1-ddtext
    my_file_tab1-inttype = 'C'.
    my_file_tab1-INTLEN = my_file_tab1-leng.
    my_file_tab1-tabname = name.
    my_file_tab1-position = sy-tabix - 1.
    my_file_tab1-ddlanguage = sy-langu.
    my_file_tab1-OUTPUTLEN = my_file_tab1-leng.
    APPEND my_file_tab1.
    ENDIF.
    ENDLOOP.
    dd02v-tabname = name.
    dd02v-ddlanguage = sy-langu.
    dd02v-tabclass = 'INTTAB'.
    dd02v-DDTEXT = testo.
    dd02v-MASTERLANG = sy-langu.
    IF NOT my_file_tab1[] IS INITIAL.
    CALL FUNCTION 'DDIF_TABL_PUT'
    EXPORTING
    name = name
    dd02v_wa = dd02v
    TABLES
    dd03p_tab = my_file_tab1
    EXCEPTIONS
    tabl_not_found = 1
    name_inconsistent = 2
    tabl_inconsistent = 3
    put_failure = 4
    put_refused = 5
    OTHERS = 6
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ELSE.
    MESSAGE ID 'Z0017_BDI' TYPE 'I' NUMBER 003.
    EXIT.
    ENDIF.
    *& Form file_selection
    -->P_FILE_1 text
    FORM file_selection USING p_file.
    CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
    def_filename = ''
    def_path = 'c:\'
    mask = ',.,..'
    mode = '0'
    title = 'Selezione file'
    IMPORTING
    filename = p_file
    RC = RCODE
    EXCEPTIONS
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 4
    OTHERS = 5.
    ENDFORM. " file_selection
    File Template:
    Fieldname;Data Type;Lentgh;Dec.;Descr.
    FIELD1;CHAR;000020;000000;my field 1
    FIELD2;CHAR;000008;000000;my field 2
    FIELD3;CHAR;000007;000000;my field 3
    FIELD4;CHAR;000006;000000;my field 4

  • Custom PL/SQL API that inserts the data into a custom interface table.

    We are developing a custom Web ADI integrator for importing suppliers into Oracle.
    The Web ADI interface is a custom PL/SQL API that inserts the data into a custom interface table. We have defined the content, uploader and an importer. The importer is again a custom PL/SQL API that will process the records inserted into the custom table and updates the STATUS column of the custom interface table. We want to show the status column back on the spreadsheet.
    Defined the 'Document Row' import rule and added the rows that would identify the unique record.
    Errored row import rule, we are using a SELECT * from custom_table where status<>'Success' and vendor_name=$param$.vendor_name
    The source of this parameter is import.vendor_name
    We have also defined an Error lookup.
    After the above setup is completed, we invoke the create document and click on Oracle->Upload.
    The records are getting imported, but the importer program is failing with An error has occurred while running an API import. The ERRORED_ROWS step 20003:ER_500141, parameter number 1 must contain the value BIND in attribute 1.'

    The same issue.
    Need help.
    Also checked bne.log, no additional information.
    <bne:document xmlns:bne="http://www.oracle.com/bne">
    <bne:message bne:type="DATA" bne:text="BNE_VALID_ROW_COUNT" bne:value="11" />
    <bne:message bne:type="DATA" bne:text="BNE_INVALID_ROW_COUNT" bne:value="0" />
    <bne:message bne:type="ERROR" bne:text="An error has occurred while running an API import"
    bne:cause="The ERRORED_ROWS step 20003:ER_500165, parameter number 1 must contain the value BIND in attribute 1."
    bne:action="" bne:source="BneAPIImporter" >
    <bne:context bne:collection="collection_1" />
    </bne:message><bne:message bne:type="STATUS"
    bne:text="No rows uploaded" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message>
    <bne:message bne:type="STATUS" bne:text="0 rows were invalid" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message></bne:document>

  • SQL Loader-How to insert -ve & date values from flat text file into coloumn

    Question: How to insert -ve & date values from flat text file into coloumns in a table.
    Explanation: In the text file, the negative values are like -10201.30 or 15317.10- and the date values are as DDMMYYYY (like 10052001 for 10th May, 2002).
    How to load such values in columns of database using SQL Loader?
    Please guide.

    Question: How to insert -ve & date values from flat text file into coloumns in a table.
    Explanation: In the text file, the negative values are like -10201.30 or 15317.10- and the date values are as DDMMYYYY (like 10052001 for 10th May, 2002).
    How to load such values in columns of database using SQL Loader?
    Please guide. Try something like
    someDate    DATE 'DDMMYYYY'
    someNumber1      "TO_NUMBER ('s99999999.00')"
    someNumber2      "TO_NUMBER ('99999999.00s')"Good luck,
    Eric Kamradt

  • Java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."DESCRIPTION"."TYPE")

    insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('','','',41)
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."DESCRIPTION"."TYPE")
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
    at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:474)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1125)
    at com.event.struts.InsertDetails.doPost(InsertDetails.java:78)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source
    and i my
    Action class is
    public class InsertDetails extends HttpServlet{
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    // TODO Auto-generated method stub
    Connection conn = null;
    try{
    List list = (List) req.getSession().getAttribute("listbean");
    InputBean ib = (InputBean) list.get(0);
    InputBean ib1 = (InputBean) list.get(1);
    InputBean ib2 = (InputBean) list.get(2);
    InputBean ib3 = (InputBean) list.get(3);
    InputBean ib4 = (InputBean) list.get(4);
    InputBean ib5 = (InputBean) list.get(5);
    InputBean ib6 = (InputBean) list.get(6);
    InputBean ib7 = (InputBean) list.get(7);
    conn = ConnectionUtils.getConnection();
    Statement stmt = conn.createStatement();
    String sql1 = "select seq.nextval from DUAL";
    ResultSet rs1 = stmt.executeQuery(sql1);
    rs1.next();
    int event_id = rs1.getInt(1);
    //Advanced and general info
    String sql2 = "insert into EVENT_INFO (EVENT_ID,EVENT_NAME,SHORT_NAME,EVENT_START_DATE,EVENT_END_DATE,EVENT_START_TIME,EVENT_END_TIME,event_LOCATION,ADDRESS1,ADDRESS2,CITY,STATE,ZIP_CODE,COUNTRY,event_COMMENT,EVENT_OVERVIEW,EXTRA1,EXTRA2,MEMBERSHIP_OPTION,EXTRA3,EXTRA4,EXTRA5,KID,TEEN,ADULT,SENIOR,SENILE,EVENT_TYPE1,EVENT_TYPE2,DETAILED_DESCRIPTION,IS_DETAILED_DESCRIPTION_HTML,ADDITIONAL_URL,BYPASS_INFORMATION_PAGE,CANCELLATION_POLICY,ADDTIONAL_INFO) values("+event_id+",'"+ib.getName()+"','"+ib.getShortname()+"','"+ib.getStartdate()+
    "','"+ib.getEnddate()+"','"+ib.getStarttime()+"','"+ib.getEndtime()+"','"+ib.getLocation()+"','"+ib.getAddress1()+"','"+ib.getAddress2()+"','"+
    ib.getCity()+"','"+ib.getState()+"','"+ib.getZip()+"','"+ib.getCountry()+"','"+ib.getComment()+"','"+ib.getTextarea()+"','"+ib.getExtra1()+"','"+
    ib.getExtra2()+"','"+ib.getExtra3()+"','"+ib.getExtra4()+"','"+ib.getExtra5()+"','"+ib.getExtra6()+"','"+ib.getExtra7()+"','"+ib.getExtra8()+"','"+
    ib.getExtra9()+"','"+ib.getExtra10()+"','"+ib.getExtra11()+"','"+ib.getExtra12()+"','"+ib.getExtra13()+"','"+ib1.getTextarea()+"','"+ib1.getExtra1()+"','"+
    ib1.getName()+"','"+ib1.getExtra2()+"','"+ib2.getCancellation_policy()+"','"+ib2.getTextarea()+"')";
    stmt.executeQuery(sql2);
    //Description
    List list1 = (List) ib2.getList();
    DescriptionBean db = (DescriptionBean) list1.get(0);
    DescriptionBean db1 = (DescriptionBean) list1.get(1);
    DescriptionBean db2 = (DescriptionBean) list1.get(2);
    DescriptionBean db3 = (DescriptionBean) list1.get(3);
    DescriptionBean db4 = (DescriptionBean) list1.get(4);
    DescriptionBean db5 = (DescriptionBean) list1.get(5);
    DescriptionBean db6 = (DescriptionBean) list1.get(6);
    if(db.getDescription()!=" "){
    String s1 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db.getDescription()+"','"+db.getTextarea()+"','"+db.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s1);
    if(db1.getDescription()!=" "){
    String s2 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db1.getDescription()+"','"+db1.getTextarea()+"','"+db1.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s2);
    if(db2.getDescription()!=" "){
    String s3 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db2.getDescription()+"','"+db2.getTextarea()+"','"+db2.getHtmlbutton()+"',"+event_id+")";
    System.out.println(s3);
    stmt.executeQuery(s3);
    if(db3.getDescription()!=" "){
    String s4 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db3.getDescription()+"','"+db3.getTextarea()+"','"+db3.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s4);
    if(db4.getDescription()!=" "){
    String s5 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db4.getDescription()+"','"+db4.getTextarea()+"','"+db4.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s5);
    if(db5.getDescription()!=" "){
    String s6 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db5.getDescription()+"','"+db5.getTextarea()+"','"+db5.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s6);
    if(db6.getDescription()!=" "){
    String s7 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db6.getDescription()+"','"+db6.getTextarea()+"','"+db6.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s7);
    //Activity
    String sql3 = "insert into ACTIVITY (ACTIVITY_NAME,ACTIVITY_START_DATE,ACTIVITY_END_DATE,ACTIVITY_START_TIME,ACTIVITY_END_TIME,TYPE,CAPACITY,EVENT_ID) values('"+ib3.getName()+"','"+ib3.getStartdate()+"','"+
    ib3.getEnddate()+"','"+ib3.getStarttime()+"','"+ib.getEndtime()+"','"+ib3.getExtra1()+"',"+event_id+")";
    stmt.executeQuery(sql3);
    i put condition for null .But if i dont fill the fields,even then the executeQuery is executing without checking the condition.
    wht is the problem
    what i want to change in my code.

    1. Use code tags when you post code.
    2. Use prepared statements.
    3. If you have a field that requires a non-null entry then you must provide a non-null value. And for Oracle that means non-empty as well.

  • Sql insert statement will fail if the data value has empty line

    Hi,
    I notice if the insert statement in my .sql file contains data that has new line (enter key), the insert will fail.
    For example:
    insert into mytable (message)
    values ('this is the first line
    this is the second line that will cause insert statement to fail
    so as this third line');
    commit;
    How to overcome this?
    Please advise.
    Thank you.
    Message was edited by:
    bchurn
    Message was edited by:
    bchurn

    It did not return me any error. What is the error you are receiving ??
    SQL> create table mytable (message varchar2(500));
    Table created.
    SQL> insert into mytable (message)
      2  values ('this is the first line
      3  this is the second line that will cause insert statement to fail
      4  so as this third line');
    1 row created.
    SQL> @c:\test.txt
    1 row created.contents of c:\test.txt
    <<
    insert into mytable (message)
    values ('this is the first line
    this is the second line that will cause insert statement to fail
    so as this third line');
    >>

  • Insertion of data to MS SQL Server is not happening via SOA layer

    Hi,
    There is a requirement in our project to take the data from Orcale EBS and insert into a different legacy and it is a MS SQL Server. So it makes it Orcale DB to SQL Server. When i manually insert data to a table in SQL Server it's working fine. When i try to insert the data to the same table using BPEL(SOA 11g), It's giving out an exeception,
    "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown.
    Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception. insert failed. Descriptor name: [InsertCustomerDataHighJump.TRheemImpCustomer]. Caused by com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'DUAL'.. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. Invalid object name 'DUAL'. 208".
    Any help on this is highly appreciated.
    Thanks,
    Swami

    Hi Vivek,
    I am able to do other operations such as select and update in the SQL server DB. Only insert is giving such a kind of exception.

  • How to insert chinese data into MS SQL Server 2000 through JDBC

    I am trying to insert chinese data into MS SQL server 2000 using JDBC. how to do this?
    can anybody help me.
    thanx.

    I am trying to insert chinese data into MS SQL server 2000 using JDBC. how to do this?
    can anybody help me.
    thanx.

  • SQL insert scripts generation from repository data xml file

    Hi All,
    I want to generate sql insert scripts from repository data xml file which contain <add-item>elements.
    Example: data xml file is contains
    <add-item item-descriptor="user" id="741">
    <set-property name="gender"><![CDATA[female]]></set-property>
    <set-property name="emailStatus"><![CDATA[__NULL__]]></set-property>
    <set-property name="receiveEmail"><![CDATA[__NULL__]]></set-property>
    <set-property name="email"><![CDATA[[email protected]]]></set-property>
    <set-property name="password"><![CDATA[a694cb1d6d011eddc444acb77338c1df6a22bac5de26330e2fe1d20f15f97ed6]]></set-property>
    <!-- rdonly derived <set-property name="abandonedOrderCount"><![CDATA[0]]></set-property> -->
    <set-property name="locale"><![CDATA[de_DE]]></set-property>
    <set-property name="userType"><![CDATA[1]]></set-property>
    <set-property name="autoLogin"><![CDATA[__NULL__]]></set-property>
    <set-property name="lastName"><![CDATA[Springford]]></set-property>
    <set-property name="member"><![CDATA[true]]></set-property>
    <set-property name="dateOfBirth"><![CDATA[7/18/1951 00:00:00]]></set-property>
    <!-- rdonly derived <set-property name="age"><![CDATA[61]]></set-property> -->
    <set-property name="registrationDate"><![CDATA[5/16/1996 00:00:00]]></set-property>
    <set-property name="login"><![CDATA[sally]]></set-property>
    <set-property name="lastActivity"><![CDATA[6/9/1999 00:00:00]]></set-property>
    <set-property name="homeAddress"><![CDATA[741]]></set-property>
    <set-property name="passwordSalt"><![CDATA[sally]]></set-property>
    <set-property name="generatedPassword"><![CDATA[__NULL__]]></set-property>
    <set-property name="firstName"><![CDATA[Sally]]></set-property>
    <set-property name="lastPasswordUpdate"><![CDATA[__NULL__]]></set-property>
    </add-item>
    Thanks
    Siva

    HI Rohan,
    Thanks for reply..
    I have checked the startSQLRepository script by using this we can export or import repository data from xml to repository.But in startSQLRepository there is no attribute to generate sql
    insert scripts from data xmls but there is a option to get the sql scripts(-ouputSQL).

  • Displaying Null-date in SQL developer

    Hi,
    I run into the following problem (with SQL developer Vers. 1.2.0 build 2998).
    On a table with a date column and a null date in some rows (the default value is "to_date(1, 'J')" ), SQL developer is showing after a query in the SQL worksheet the date "01/01/4713"
    However, when I'm executing the same query in SQL*Plus, the columns with a null-date showing the value "01/01/4712"
    How is it possible that SQL-Developer and SQL*Plus showing different dates on the same data?
    Any suggestion or explanations for this behavior?
    Any help is much appreciated.
    TIA
    Fred

    They are both getting the same internal Oracle date format.
    They will use different code to translate those bytes into a visible format.
    The problem is about year 0 because historically there wasn't one.
    The internal date format does permit dates in the year zero, but mostly the SQL interface forbids it.
    For example
    select to_date('01010000','ddmmyyyy') from dual;
    will fail, but
    select to_date('01010001','ddmmyyyy')-1 from dual;
    will pass
    and
    select to_char(to_date('01010001','ddmmyyyy')-5,'dd/mon/yyyy') from dual;
    produces, well, garbage.
    Storing 'dummy' values tends to lead to odd results which is why it is generally frowned upon. Use a null and another column to indicate why a real value isn't appropriate.

Maybe you are looking for

  • Ideas for a diary/events column

    Hello I am thinking about introducing into my site an events column (about 2" wide x 3-4" deep) which would show the title and date of a particular industry event (perhaps with a very brief introduction underneath). I would probably need to fish arou

  • ColdFusion 11: cfclient ports a lot of CFML functions to JS

    G'day: I am reposting this from my blog ("ColdFusion 11: cfclient ports a lot of CFML functions to JS") at the suggestion of Adobe support: @dacCfml @ColdFusion Can you post your queries at http://t.co/8UF4uCajTC for all cfclient and mobile queries.—

  • Vnc-4_1_2-sparc_solaris[1].tar ERROR

    Xvnc Free Edition 4.1.2 - built May 12 2006 17:52:56 Copyright (C) 2002-2005 RealVNC Ltd. See http://www.realvnc.com for information on VNC. Underlying X server release 0, unknown Thu Nov 9 16:26:45 2006 vncext: VNC extension running! vncext: Listeni

  • Lion versus Snow Leopard, a new MAC Book Pro series coming?

    My son is looking for a new laptop. He would opt for function over portability. Therefore larger MAC Book Pro makes sense but seems as if MAC Book Air has newer operating system so concern is life.

  • Installing Oracle Hyperion Offline Planning (Offline.exe) silently

    Hi, I have been tasked with packaging the Smart View and Offline Planning products together for release to many users at my firm. To do so I need to be able to run both installers silently (without prompting the user). I am able to silence the instal