You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacopo Cappellato <ja...@hotwaxmedia.com> on 2009/12/05 19:46:58 UTC
Issue with new converters running on Oracle DB
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
Re: Issue with new converters running on Oracle DB
Posted by Adrian Crum <ad...@hlmksw.com>.
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
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>
>
Re: Issue with new converters running on Oracle DB
Posted by David E Jones <de...@me.com>.
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
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>
Re: Issue with new converters running on Oracle DB
Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
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
>>>>
>>>>
>>>>
>>
>>
>>
Re: Issue with new converters running on Oracle DB
Posted by Ruth Hoffman <rh...@aesolves.com>.
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
>>>
>>>
>>>
>>>
>
>
>
Re: Issue with new converters running on Oracle DB
Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
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
>>
>>
>>
Re: Issue with new converters running on Oracle DB
Posted by Ruth Hoffman <rh...@aesolves.com>.
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
>
>
>