I contributed a patch (with state wish) to the JIRA:  
   https://issues.apache.org/jira/browse/OFBIZ-1001

I also added the other solutions mentioned in this thread...

Michael

jacques.le.roux wrote:
> 
> Michael,
> 
> Would you be interested by contributing a patch for this ? It does not
> mean that it will be commited but at least the idea will be there,
> opened to everybody...
> 
> Jacques
> 
> ----- Message d'origine ----- 
> De : "Michael Imhof" <[EMAIL PROTECTED]>
> À : <[email protected]>
> Envoyé : mardi 15 mai 2007 10:05
> Objet : Re: Problems with Oracle Database
> 
> 
>>
>> Hi Jacopo,
>> I saw this note before, but I don't want to install a trigger on the
> client
>> database. I would like
>> to fix the cause and not the problem!!
>>
>> I implemented a solution based on the design hibernate is using. In
>> hibernate you have to define
>> in a xml file wich dialect you're using. We don't have this
> definition, but
>> I'm using the drivername
>> declared in the entityengine.xml to find the dialect to use.
>>
>> In GenericDAO I read the corresponding dialect instance and every
> value is
>> passed through this dialect
>> instance (every dialect implements a method "toSqlString(Object
> value)").
>> The where string values are build in the SqlJdbcUtil class, so that's
> the
>> point where I finally use my
>> dialect class.
>> If you look at SqlJdbcUtil.addValueSingle(..):
>>       buffer.append('\'').append(value).append('\'');
>> is now:
>>             Object sqlValue = value;
>>             if (dialect != null) {
>>                 sqlValue = dialect.toSqlString(value);
>>             }
>>             buffer.append(sqlValue);
>> The instance dialect is passed as a parameter to the method. At the
> moment I
>> only implemented a
>> OracleDialect class. All the other drivers are using the default
> dialect
>> wich is returning:
>>       return '\'' +value '\'';
>>
>> Seems to work fine...
>> Michael
>>
>>
>> Jacopo Cappellato wrote:
>> >
>> > Michael,
>> >
>> > have a look at these notes:
>> >
>> > http://docs.ofbiz.org/x/gAI
>> >
>> > let me know if they help you and if you have additional suggestions
> for
>> > OFBiz&Oracle
>> >
>> > Jacopo
>> >
>> > Michael Imhof wrote:
>> >> We developed our OfBiz application on a mysql database and all
> works
>> >> fine.
>> >> Deploying the application on the client server with Oracle database
> I got
>> >> exceptions with
>> >> the sandbox:
>> >>       "ORA-01861: literal does not match format string"
>> >>
>> >> This is a problem with the date conversion.
>> >> On MySql, the following SQL Statement is used
>> >>          SELECT .... WHERE RUN_TIME <= '2007-05-15 07:45:10.875'
> AND ....
>> >> Using an Oracle database, this statement is wrong and generates the
>> >> ORA-01861 error.
>> >> The statement should look like this:
>> >>          SELECT .... WHERE RUN_TIME <= TO_DATE('2007-05-15
> 07:45:10',
>> >> 'YYYY-MM-DD HH:MI:SS') AND ....
>> >>
>> >> It works fine if the query is generated with the PreparedStatement
> of the
>> >> driver.
>> >> But why the hell is this not always the case???
>> >>
>> >> The call of
>> >>     delegator.storeByCondition("JobSandbox", updateFields,
>> >> mainCondition);
>> >> is creating a where statement BY HAND!!! (And of course this
> statement is
>> >> not generic and does not
>> >> work with a oracle database).
>> >>
>> >> Michael
>> >>
>> >> PS: Probably I will fix this in my ofbiz version, but that will be
> a big
>> >> redesign (I don't think I can create a patch
>> >> out of this. It's a redesign!).
>> >
>> >
>> >
>> >
>>
>> -- 
>> View this message in context:
> http://www.nabble.com/Problems-with-Oracle-Database-tf3756432.html#a10618443
>> Sent from the OFBiz - User mailing list archive at Nabble.com.
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Problems-with-Oracle-Database-tf3756432.html#a10713771
Sent from the OFBiz - User mailing list archive at Nabble.com.

Reply via email to