|
I am getting the following error trying to load seed data in the trunk using an Oracle DB.
------------ [java] Exception: java.lang.ClassNotFoundException [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp Any hints on how to fix this? Jacopo |
|
Hey Jacopo:
I had a similar problem about 9 months ago...depends on the version of Oracle. But if I remember correctly, you may need to find an Oracle jar file that supports the TIMESTAMP object and add it to the classpath. I don't have access to that OFBiz instance anymore so I can't verify what I did...but I think that was the solution. FYI - there was a similar problem with ORACLE CLOBs. Anyhow, hope that helps. Ruth Jacopo Cappellato wrote: > I am getting the following error trying to load seed data in the trunk using an Oracle DB. > > ------------ > [java] Exception: java.lang.ClassNotFoundException > [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp > > > Any hints on how to fix this? > > Jacopo > > > |
|
Thank you Ruth, I will investigate more but... but my guess is that this error is related to the recent changes for the Converter framework... in fact this error is happening after the OFBiz upgrade to the trunk.
Jacopo On Dec 5, 2009, at 7:59 PM, Ruth Hoffman wrote: > Hey Jacopo: > I had a similar problem about 9 months ago...depends on the version of Oracle. But if I remember correctly, you may need to find an Oracle jar file that supports the TIMESTAMP object and add it to the classpath. > > I don't have access to that OFBiz instance anymore so I can't verify what I did...but I think that was the solution. FYI - there was a similar problem with ORACLE CLOBs. > > Anyhow, hope that helps. > Ruth > > Jacopo Cappellato wrote: >> I am getting the following error trying to load seed data in the trunk using an Oracle DB. >> >> ------------ >> [java] Exception: java.lang.ClassNotFoundException >> [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp >> >> >> Any hints on how to fix this? >> >> Jacopo >> >> >> |
|
Hi Jacopo:
Don't know about the converter framework...I seem to remember that Oracle changed the name of the SQL TIMESTAMP object for more recent versions (9x or 10i or something like that). So maybe the OFBiz converter is looking for the TIMESTAMP object in the wrong place or calling it by a name that doesn't exist anymore. I may have had to change the converter as well. Or maybe I'm just confusing all this with the Oracle CLOB modifications I had to make... It was a while ago when I ran into this. Anyhow, I do seem to recall there was some discussion about this on the Oracle developer's forum at the time. Regards, Ruth Jacopo Cappellato wrote: > Thank you Ruth, I will investigate more but... but my guess is that this error is related to the recent changes for the Converter framework... in fact this error is happening after the OFBiz upgrade to the trunk. > > Jacopo > > On Dec 5, 2009, at 7:59 PM, Ruth Hoffman wrote: > > >> Hey Jacopo: >> I had a similar problem about 9 months ago...depends on the version of Oracle. But if I remember correctly, you may need to find an Oracle jar file that supports the TIMESTAMP object and add it to the classpath. >> >> I don't have access to that OFBiz instance anymore so I can't verify what I did...but I think that was the solution. FYI - there was a similar problem with ORACLE CLOBs. >> >> Anyhow, hope that helps. >> Ruth >> >> Jacopo Cappellato wrote: >> >>> I am getting the following error trying to load seed data in the trunk using an Oracle DB. >>> >>> ------------ >>> [java] Exception: java.lang.ClassNotFoundException >>> [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp >>> >>> >>> Any hints on how to fix this? >>> >>> Jacopo >>> >>> >>> >>> > > > |
|
For the record, I have finally fixed it by adding the following two converters:
public static class OracleTIMESTAMPToTimestamp extends AbstractConverter<oracle.sql.TIMESTAMP, java.sql.Timestamp> { public OracleTIMESTAMPToTimestamp() { super(oracle.sql.TIMESTAMP.class, java.sql.Timestamp.class); } public java.sql.Timestamp convert(oracle.sql.TIMESTAMP obj) throws ConversionException { try { return obj.timestampValue(); } catch (Exception e) { throw new ConversionException(e); } } } public static class SqlDateToTime extends AbstractConverter<java.sql.Date, java.sql.Time> { public SqlDateToTime() { super(java.sql.Date.class, java.sql.Time.class); } public java.sql.Time convert(java.sql.Date obj) throws ConversionException { return new java.sql.Time(obj.getTime()); } } However it is a bit annoying since it was working before... also I don't know if (and how) this code can be contributed back: the first converter needs the oracle driver in the classpath to compile. Jacopo On Dec 5, 2009, at 9:26 PM, Ruth Hoffman wrote: > Hi Jacopo: > Don't know about the converter framework...I seem to remember that Oracle changed the name of the SQL TIMESTAMP object for more recent versions (9x or 10i or something like that). So maybe the OFBiz converter is looking for the TIMESTAMP object in the wrong place or calling it by a name that doesn't exist anymore. I may have had to change the converter as well. Or maybe I'm just confusing all this with the Oracle CLOB modifications I had to make... > > It was a while ago when I ran into this. Anyhow, I do seem to recall there was some discussion about this on the Oracle developer's forum at the time. > > Regards, > Ruth > Jacopo Cappellato wrote: >> Thank you Ruth, I will investigate more but... but my guess is that this error is related to the recent changes for the Converter framework... in fact this error is happening after the OFBiz upgrade to the trunk. >> >> Jacopo >> >> On Dec 5, 2009, at 7:59 PM, Ruth Hoffman wrote: >> >> >>> Hey Jacopo: >>> I had a similar problem about 9 months ago...depends on the version of Oracle. But if I remember correctly, you may need to find an Oracle jar file that supports the TIMESTAMP object and add it to the classpath. >>> >>> I don't have access to that OFBiz instance anymore so I can't verify what I did...but I think that was the solution. FYI - there was a similar problem with ORACLE CLOBs. >>> >>> Anyhow, hope that helps. >>> Ruth >>> >>> Jacopo Cappellato wrote: >>> >>>> I am getting the following error trying to load seed data in the trunk using an Oracle DB. >>>> >>>> ------------ >>>> [java] Exception: java.lang.ClassNotFoundException >>>> [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp >>>> >>>> >>>> Any hints on how to fix this? >>>> >>>> Jacopo >>>> >>>> >>>> >> >> >> |
|
One option might be to put this in, but commented out so it is just an example in a comment. There is at least one other comment with example code for Oracle in the entity engine, though I can't remember where it is right now. -David On Dec 6, 2009, at 5:04 AM, Jacopo Cappellato wrote: > For the record, I have finally fixed it by adding the following two converters: > > public static class OracleTIMESTAMPToTimestamp extends AbstractConverter<oracle.sql.TIMESTAMP, java.sql.Timestamp> { > public OracleTIMESTAMPToTimestamp() { > super(oracle.sql.TIMESTAMP.class, java.sql.Timestamp.class); > } > public java.sql.Timestamp convert(oracle.sql.TIMESTAMP obj) throws ConversionException { > try { > return obj.timestampValue(); > } catch (Exception e) { > throw new ConversionException(e); > } > } > } > > public static class SqlDateToTime extends AbstractConverter<java.sql.Date, java.sql.Time> { > public SqlDateToTime() { > super(java.sql.Date.class, java.sql.Time.class); > } > public java.sql.Time convert(java.sql.Date obj) throws ConversionException { > return new java.sql.Time(obj.getTime()); > } > } > > However it is a bit annoying since it was working before... also I don't know if (and how) this code can be contributed back: the first converter needs the oracle driver in the classpath to compile. > > Jacopo > > > On Dec 5, 2009, at 9:26 PM, Ruth Hoffman wrote: > >> Hi Jacopo: >> Don't know about the converter framework...I seem to remember that Oracle changed the name of the SQL TIMESTAMP object for more recent versions (9x or 10i or something like that). So maybe the OFBiz converter is looking for the TIMESTAMP object in the wrong place or calling it by a name that doesn't exist anymore. I may have had to change the converter as well. Or maybe I'm just confusing all this with the Oracle CLOB modifications I had to make... >> >> It was a while ago when I ran into this. Anyhow, I do seem to recall there was some discussion about this on the Oracle developer's forum at the time. >> >> Regards, >> Ruth >> Jacopo Cappellato wrote: >>> Thank you Ruth, I will investigate more but... but my guess is that this error is related to the recent changes for the Converter framework... in fact this error is happening after the OFBiz upgrade to the trunk. >>> >>> Jacopo >>> >>> On Dec 5, 2009, at 7:59 PM, Ruth Hoffman wrote: >>> >>> >>>> Hey Jacopo: >>>> I had a similar problem about 9 months ago...depends on the version of Oracle. But if I remember correctly, you may need to find an Oracle jar file that supports the TIMESTAMP object and add it to the classpath. >>>> >>>> I don't have access to that OFBiz instance anymore so I can't verify what I did...but I think that was the solution. FYI - there was a similar problem with ORACLE CLOBs. >>>> >>>> Anyhow, hope that helps. >>>> Ruth >>>> >>>> Jacopo Cappellato wrote: >>>> >>>>> I am getting the following error trying to load seed data in the trunk using an Oracle DB. >>>>> >>>>> ------------ >>>>> [java] Exception: java.lang.ClassNotFoundException >>>>> [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp >>>>> >>>>> >>>>> Any hints on how to fix this? >>>>> >>>>> Jacopo >>>>> >>>>> >>>>> >>> >>> >>> > |
|
I will look into this and try to find a solution.
-Adrian David E Jones wrote: > One option might be to put this in, but commented out so it is just an example in a comment. There is at least one other comment with example code for Oracle in the entity engine, though I can't remember where it is right now. > > -David > > > On Dec 6, 2009, at 5:04 AM, Jacopo Cappellato wrote: > >> For the record, I have finally fixed it by adding the following two converters: >> >> public static class OracleTIMESTAMPToTimestamp extends AbstractConverter<oracle.sql.TIMESTAMP, java.sql.Timestamp> { >> public OracleTIMESTAMPToTimestamp() { >> super(oracle.sql.TIMESTAMP.class, java.sql.Timestamp.class); >> } >> public java.sql.Timestamp convert(oracle.sql.TIMESTAMP obj) throws ConversionException { >> try { >> return obj.timestampValue(); >> } catch (Exception e) { >> throw new ConversionException(e); >> } >> } >> } >> >> public static class SqlDateToTime extends AbstractConverter<java.sql.Date, java.sql.Time> { >> public SqlDateToTime() { >> super(java.sql.Date.class, java.sql.Time.class); >> } >> public java.sql.Time convert(java.sql.Date obj) throws ConversionException { >> return new java.sql.Time(obj.getTime()); >> } >> } >> >> However it is a bit annoying since it was working before... also I don't know if (and how) this code can be contributed back: the first converter needs the oracle driver in the classpath to compile. >> >> Jacopo >> >> >> On Dec 5, 2009, at 9:26 PM, Ruth Hoffman wrote: >> >>> Hi Jacopo: >>> Don't know about the converter framework...I seem to remember that Oracle changed the name of the SQL TIMESTAMP object for more recent versions (9x or 10i or something like that). So maybe the OFBiz converter is looking for the TIMESTAMP object in the wrong place or calling it by a name that doesn't exist anymore. I may have had to change the converter as well. Or maybe I'm just confusing all this with the Oracle CLOB modifications I had to make... >>> >>> It was a while ago when I ran into this. Anyhow, I do seem to recall there was some discussion about this on the Oracle developer's forum at the time. >>> >>> Regards, >>> Ruth >>> Jacopo Cappellato wrote: >>>> Thank you Ruth, I will investigate more but... but my guess is that this error is related to the recent changes for the Converter framework... in fact this error is happening after the OFBiz upgrade to the trunk. >>>> >>>> Jacopo >>>> >>>> On Dec 5, 2009, at 7:59 PM, Ruth Hoffman wrote: >>>> >>>> >>>>> Hey Jacopo: >>>>> I had a similar problem about 9 months ago...depends on the version of Oracle. But if I remember correctly, you may need to find an Oracle jar file that supports the TIMESTAMP object and add it to the classpath. >>>>> >>>>> I don't have access to that OFBiz instance anymore so I can't verify what I did...but I think that was the solution. FYI - there was a similar problem with ORACLE CLOBs. >>>>> >>>>> Anyhow, hope that helps. >>>>> Ruth >>>>> >>>>> Jacopo Cappellato wrote: >>>>> >>>>>> I am getting the following error trying to load seed data in the trunk using an Oracle DB. >>>>>> >>>>>> ------------ >>>>>> [java] Exception: java.lang.ClassNotFoundException >>>>>> [java] Message: No converter found for oracle.sql.TIMESTAMP->java.sql.Timestamp >>>>>> >>>>>> >>>>>> Any hints on how to fix this? >>>>>> >>>>>> Jacopo >>>>>> >>>>>> >>>>>> >>>> >>>> > > |
| Free forum by Nabble | Edit this page |
