In distributed architecture (typical three tier consisting of thin client, middleware & database) which type of JDBC driver should be used and why?

Zahid Shaikh

Normally in 3-tier architectures, you would preferably connect to database via middleware. Pure java drivers are slower than native driver but they do not require any client-side installation. So for middleware, as perfomance is important, native JDBC drivers like Oracle's OCI driver should be preferred. Also native installation(like ODBC or Oracle's Sqlnet ) would be required at middleware level but it would not affect the clients. In the exceptional case, if the database is needed to be accessed by thin client than pure Java driver like Oracle's thin driver is recommended as they do not require any client-side installation.