Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Perl Script failing after oracle 10G driver upgrade

by mje (Curate)
on Aug 15, 2013 at 09:14 UTC ( #1049530=note: print w/replies, xml ) Need Help??

in reply to Perl Script failing after oracle 10G driver upgrade

Following on from what marto said.

Format your question better - see code tags, in the formatting help as some of the error message you posted contained square brackets which have a special meaning here.

Describe exactly what you changed to cause this problem - you say "After oracle 10g driver upgrading script" - what does that mean?

Tell us exactly which driver you are using - I can see it is probably Oracle's ODBC driver but what are the versions before and after upgrade and what platform is this?

As you appear to be inserting a date what is the type of the column you are inserting into and what did the date look like?

  • Comment on Re: Perl Script failing after oracle 10G driver upgrade

Replies are listed 'Best First'.
Re^2: Perl Script failing after oracle 10G driver upgrade
by Anonymous Monk on Aug 15, 2013 at 11:19 UTC

    Thanks for reply,

    More details about issue:

    I have a perl script that was working fine until I upgraded my Oracle client 9i to 10g (instant client). I'm inserting data into an Oracle database via DBD-ODBC.

    We found this error from logs:

    Monday, August 12, 2013 4:33 PM Product Group ID = 4 Count = 2Last extract to date: 080108131644, extract to date : 090130 +095622 , Current run id: 55 Errstr = Exception Found - Error_ID 12

    While updating the records in to below table failing the script.

    we are assuming this issue is some thing related to date format and changed the code at script level with diffrent format of dates ,but its not much help full resolve this issue.

    UPDATE TEST_CONTROL_TABLE SET PN_Date = to_date(?,'yyyymmddhh24miss'), + E_From_Date = to_date(?,'yyyymmddhh24miss'), E_To_Date = to_date(?,' +yyyymmddhh24miss'), E_MN = ?, E_Sts = ?, D_R_ID = ?, D_Mode = ?, D_St +ts = ?, H_ID = ?, keep_M = ?, Hkeep_Sts = ?, Pr_Stt = ?, E_From_Qtes += ?, L_To_S_Qte = ?, Unque_Po_Count = ?, Unque_C_Count = ?, Unque_End +or_Count = ?, Pol_F_Record_Count = ?, Cl_File_Re_Count = ?, End_Rec_C +ount = ? WHERE R_ID = ?}; my $sth8 = $dbh->prepare( $sql8 ) or error(17)

    Current using ORACLE NLS date format setting is rrmmddhh24miss

    with out changing NLS setting is there any options to resolve this issue?

    Script connection setting information:

    my $driver = "ODBC"; my $server = "localhost"; my $database = "";

    Please let me know,if you require any more details.

      In the original post you had the error on this record

      Last extract to date: 20130211035545

      and now you have an error on this record

      Last extract to date: 080108131644

      so it looks like you have a mixture of 2 digit and 4 digit years in your input data. If this is the case then try the SQL with to_date(?,'rrrrmmddhh24miss') as the rrrr accepts both formats.


        We tried with diffrent date format to resolve this isse,but its not help full.

        Existing date format yyyymmddhh24miss:

        Tried with diffrent date format rrmmddhh24miss(Similar like NLS setting)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1049530]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2018-05-26 10:26 GMT
Find Nodes?
    Voting Booth?