8/26/2008

Prior to 9.2, the Oracle JDBC drivers mapped the DATE SQL type to java.sql.Timestamp. This made a certain amount of sense because the Oracle DATE SQL type contains both date and time information as does java.sql.Timestamp. The more obvious mapping to java.sql.Date was somewhat problematic as java.sql.Date does not include time information. It was also the case that the RDBMS did not support the TIMESTAMP SQL type, so there was no problem with mapping DATE to Timestamp.

In 9.2 TIMESTAMP support was added to the RDBMS. The difference between DATE and TIMESTAMP is that TIMESTAMP includes nanoseconds and DATE does not. So, beginning in 9.2, DATE is mapped to Date and TIMESTAMP is mapped to Timestamp. Unfortunately if you were relying on DATE values to contain time information, there is a problem.

There are several ways to address this problem:

*

Alter your tables to use TIMESTAMP instead of DATE. This is probably rarely possible, but it is the best solution when it is. *

Alter your application to use defineColumnType to define the columns as TIMESTAMP rather than DATE. There are problems with this because you really don't want to use defineColumnType unless you have to (see What is defineColumnType and when should I use it?). *

Alter you application to use getTimestamp rather than getObject. This is a good solution when possible, however many applications contain generic code that relies on getObject, so it isn't always possible. *

Set the V8Compatible connection property. This tells the JDBC drivers to use the old mapping rather than the new one. You can set this flag either as a connection property or a system property. You set the connection property by adding it to the java.util.Properties object passed to DriverManager.getConnection or to OracleDataSource.setConnectionProperties. You set the system property by including a -D option in your java command line.

1/29/2008

I have been running Windows last 7 years and I didn't have a single crash or virus infection. So, it depends on how one uses his/her computer. Of course I am a techie so that helps. I first installed Red Hat in 1999 and after that Ubuntu just earlier this month. Linux still has a long way to go. You Linux is just too much configurable and that would take its toll on average user. If you don't have Internet, forget that you can do anything with it and still keep it running.
There are 2 package managers on my system and one doesn't know what the other has installed. How do you install plug-ins for your browser, is it even close to how it works on Win. Or think about editing conf files manually or even to 'make'. Wow, its like Windows telling you to compile C code to make it work!

I am not bashing Linux or favoring Windows. I am just saying that there are zealots on the Linux side who are claiming left and right how infallible and Utopian Linux is. It is not. Someday it may be on par with Windows. Not today.

And the day it becomes as popular as Windows is today, only then you should compare how safe it is against viruses.
Today, it might seem safer but that's at the cost of usability. Linux is great for techies, who like to experiment with their system. Average users want a system that does all things a Windows system can do, out of the box.

1/28/2008

With Visa going all slick and translucent with 3D rendering of windows and Linux following suit and matching Microsoft, My question is simple... WHY!!!What is the usefulness of these new adonrments. Really, are they anything more than attractive packaging. How do they make the computer more usable? And to top it off, they also need better (read expensive) hardware like memory and grpahics capabilities. Also hog the CPU. For what? Just so that the title bar is transparent, or you can see a window in 3D. Or that your desktop looks good. Really, how does that make you more productive? Unless you have a weird habit of ogling at your desktop, and you are concentrating more on how the windows' look than what they contain.Give me a better word-processor, I can live with Win 95 decorations.