Hi bunce,
    I have compiled your DBD::Oracle1.13 on HP-UX11i together with perl
5.8.0 64bit, DBI 1.30 64bit.
    When I use dbi to fetch the data typed of TIMESTAMP of Oracle9i, during
the prepare station, error
occurs that "data type 187 is not supported".
    And I search the file oci8.c and dbdimp.c you provided.
    Then I do some modification about them, re-compile them and then it can
fetch TIMESTAMP correctly.
****************************************************************************
*************************************
What I modified:
oci8.c:
Func:   dbd_st_fetch(SV *sth, imp_sth_t *imp_sth)
Line:   1201
Modification:
        Add two more case statements:
        ......
        case 187:                  /* TIMESTAMP */
                /* actually dependent on NLS default date format*/
                   fbh->disize = 75;       /* a generous default   */
                   break;
        case 232:                  /* TIMESTAMP WITH LOCAL TIME ZONE*/
                /* actually dependent on NLS default date format*/
                    fbh->disize = 75;       /* a generous default   */
                    break;
        ......

dbdimp.c:
Func:   static sql_fbh_t ora2sql_type(imp_fbh_t* fbh)
Line:   2140
Modification:
        Add one more case statement:
        ......
        case SQLT_TIMESTAMP:  sql_fbh.dbtype = SQL_TIMESTAMP; break;
        ......
****************************************************************************
*************************************
I want to know if what I modified can be adopted or it can raise some other
risks?

Thanks you very much!!!

Best Regards,
Section Xie

Reply via email to