Can anoyone explain me how I can find what Type of driver is available on my machine. I know there are four types of drivers I just want to identify the Drivers Type installed on my machine by using java program or something.
You'll need to know what drivers you have, and then you can look them up at http://developers.sun.com/product/jdbc/drivers. There's no way to run a Java program and have it tell you what drivers are available (unless you iterate through all classes in your classpath, and outputs all those that implement java.sql.Driver or javax.sql.DataSource).
Originally posted by Anurag Mishra: Can anoyone explain me how I can find what Type of driver is available on my machine...
So far I understand those "JDBC Drivers" are different in their own respect and not necessarily be found on the same host system. Let me explain you. 1) If you are on windows, ODBC is available by default so you can use "Type 1 JDBC-ODBC Bridge Drivers" which uses a bridge technology to connect a Java client to an ODBC database system So you have ODBC in your windows(very much so I guess) you have the "Driver"
2) If you have oracle client for example installed on your system then I guess you can use "Type 2 Native-API Partly Java Drivers" which wraps a thin layer of Java around the native library (i.e OCI)
3) You can pehaps use "Type 3 Net-protocol All-Java Drivers" which is kind of proprietary to the vendor could be a middleware service provider to provide the actual database access
4) I suppose you can use "Type 4 Native-protocol All-Java Drivers" which is pure java drivers. These are .jar files that need to be lying on your classpath to be able to use it.(I use those drivers (jar files to access mysql database / sql server). If you don't have it you need to download it first.
Originally posted by Alec Lee: By the way, is there any preference in using thin Vs OCI driver.
you should use the OCI driver for maximum performance and the Thin driver for maximum portability. However, It is recommended using the Thin driver all the time.
The JDBC OCI driver uses native methods, there can be significant Performance advantages in using this driver for your applications.
If you are using a JDBC OCI driver in an application with oracle, then the application will require an Oracle installation on its clients. For example, the application will require the installation of Net8 and client libraries.