Issue with new converters running on Oracle DB

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue with new converters running on Oracle DB

Jacopo Cappellato-4
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

Reply | Threaded
Open this post in threaded view
|

Re: Issue with new converters running on Oracle DB

Ruth Hoffman-2
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
>
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: Issue with new converters running on Oracle DB

Jacopo Cappellato-4
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
>>
>>
>>  

Reply | Threaded
Open this post in threaded view
|

Re: Issue with new converters running on Oracle DB

Ruth Hoffman-2
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
>>>
>>>
>>>  
>>>      
>
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: Issue with new converters running on Oracle DB

Jacopo Cappellato-4
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
>>>>
>>>>
>>>>      
>>
>>
>>  

Reply | Threaded
Open this post in threaded view
|

Re: Issue with new converters running on Oracle DB

David E. Jones-2

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
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Issue with new converters running on Oracle DB

Adrian Crum
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
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>
>