Skip to main content

JDBC Driver types


Application that use JDBC require JDBC drivers. JDBC drivers are software libraries that communicate between a java application and a database. All JDBC drivers follow the API defined in java SE .
  
                                                      There are four type of drivers available distinguished by their architecture they are:

Type 1: JDBC-ODBC Bridge





















This is an old type when the jdbc is started  ODBC is the dominant  model to communicate with the data base. And java first communicate with database through ODBC.
  • -communicates through ODBC drivers installed on client
  • Can talk to any database

But
  • -not  100% Java and not portable
  • -drivers must be on the same computer as application
  • -the ODBC driver must match the database version



Type 2:native API/partly Java

  • Communicates through OS specific Api
  • Better performance than JDBC/ODBC Bridge

But
  • -not  100% Java and not portable
  • -native API driver must be installed on the application client
  • -if the database is updated, the client software must be updated


Type 3: all Java /network-protocol Driver


















  • Communicates through network to middleware server
  • Driver is server-based; vendor-specific libraries not required on the client
  • The client driver can be very small 


Type 4 :100% java thin driver

  •  













  • Communicates directly from application to database
  • The driver is 100% java; no additional layers to install of maintain
  • The driver is installed with the application, so maintenance is simplified

But
  • You need a different driver for each database

now i think you have get the overall idea about the JDBC driver types . I feel so sleepy right now may be i will go off soon or will back after some time ; most probably you have to wait a whole day for  next post... 

Comments

Popular posts from this blog

Configuring Multiple Profiles in a Single YAML File for Spring Boot Application

Spring Boot provides a convenient way to configure application properties using YAML files. In a typical scenario, you might have different configurations for different environments such as development, testing, and production. Instead of maintaining multiple YAML files for each profile, you can configure multiple profiles within a single YAML file. This approach simplifies the configuration management process. Let's see how to achieve this. Step 1: Create a YAML Configuration File First, create a YAML file (e.g., application.yml ) in your Spring Boot project's resource directory. This file will contain the configuration properties for all the profiles you want to define. spring: profiles: active: dev logging: level: root: INFO com.example: DEBUG # Configuration for the 'dev' profile --- spring: profiles: dev database: url: jdbc:mysql://localhost:3306/devdb username: devuser password: devpassword # Co

A End to End ant Build xml snippet

A End to End ant Build xml snippet you could use for reference <?xml version="1.0" encoding="UTF-8"?> <project name="End to End Build" default="sendmail" basedir=".">     <target name="init">         <tstamp />         <property file="build.properties" />             <path id="classpath">             <pathelement path="${servlet.jar}" />             <pathelement path="${junit.jar}" />         </path>

How to use SQL Exception Methods in java

The following code shows the use of some sqlexception method package basics.in.java.blogspot.in; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { private static final String USERNAME="root"; private static final String PASSWORD=""; private static final String CONN_STRING="jdbc:mysql://localhost/basicsinjavablogspot"; public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); Connection conn=null; Statement stmt=null; ResultSet rs=null; try { conn= DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD); System.out.println("database connection successful"); stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery("select stateId,