4 Types of JDBC Drivers

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

JDBC

4 types of JDBC drivers

Type 1 : JDBC-ODBC bridge


It is used for local connection.
ex) 32bit ODBC in windows

Type 2 : Native API connection driver


It is connected by Native Module of dependent form of H/W like .dll or .so.
ex) OCI driver for local connection to Oracle

Type 3 : Network connection driver

Type 4 : Database Protocol driver


It is independent from H/W because this driver is %100 java.
ex) thin driver for local/global connection to Oracle

*** Type1, type 2, and type 3 are usually used.


Examples of type1 and type 4 are available now.

Example of JDBC-ODBC Bridge

OS: Window 2000


DBMS: MS Access

1. Open control panel


2. Open ODBC ( Window 95 and Window 98 are slightly different)

3. If you double-click on ODBC...

Click on Add button.


4. Then...

Click Microsoft Access Driver(*.mdb) and click on Finish button.

5. Then...

Insert your own Data Source Name and click on Select button.
6. Then...

Choose your Database Access file like above and click OK button.
*** note: before these procedures, we must have Database Access file.
We can make this file by using MS Access .
This Access file should have a table named by tb_address.

7. Now, we can test our JDBC program with MS Access.


Here is a simple java code that executes SELECT statement.
Here is our table,tb_address.
8. Here is the result.

*** Here is a simple code

import java.sql.*;

public class connect_msaccess


{
public static void main(String[] args)
{

int i;
Connection conn = null;

// register jdbc driver


try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(ClassNotFoundException e) {
System.out.println(e);
}

// connect to DB
try{
conn = DriverManager.getConnection("jdbc:odbc:my_database");
} catch(SQLException se) {
System.out.println(se);
}
System.out.println("connection is successful!!!");

try{
String selectSQL = "select ID, NAME, ADDRESS from tb_address";
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(selectSQL);

while(rset.next()){
System.out.println("ID: " + rset.getString(1) + " NAME: " +
rset.getString(2) + " ADDRESS:" +
rset.getString(3));
}

stmt.close();
} catch(SQLException se) {
System.out.println(se);
}
}

Example of thin driver


- OS: Window 2000
- DBMS: Personal Oracle 8.1.6. (download freeware from Oracle website)
After the installation, check your Port and SID of Personal Oracle.

1. Download a suitable thin driver from Oracle website


If you installed Personal Oracle 8.1.6, it had already thin driver in .../oracle81/jdbc/lib directory.
Usually, classes111.zip for JDK 1.1.x and classes12.zip for JDK 1.2.x or more

2. Set your classpath (environment variable)


If your OS is window 2000, open control panel and open system and go to Advanced tag.
Then, choose Environment variable and add classpath. Restart your computer.
If your OS is window 98/95, add classpath into autoexec.bat. Restart your computer.
ex) classpath= .;c:\jdk1.3\lib;c:\winter2001\cs701\classes12.zip

3. Set your path (environment variable)


Java path precedes oracle path.
ex) path= c:\jdk1.3\bin;c:\oracle\............;

4. Test with a simple java code.


Before implement of this code, you should create a table, tb_address, by using SQL plus in
Oracle and insert some values.
Then test this code.

5. Result of a simple java code.

*** Here is a simple code

import java.sql.*;

public class connect_thin


{
public static void main(String[] args)
{

int i;
Connection conn = null;

// register jdbc driver


try{
Class.forName("oracle.jdbc.driver.OracleDriver");
// in order to use Oracle thin/oci driver

} catch(ClassNotFoundException e) {
System.out.println(e);
}

// connect to DB
try{
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:datacafe",
"scott","tiger");
// thin: driver
// @127.0.0.1 for local connection. @xxx.xxx.xxx.xxx for global
// 1521: port number. This should be match to Oracle network port.
// datacafe: SID of Oracle database
// scott: username of Oracle database
// tiger: password of Oracle database

} catch(SQLException se) {
System.out.println(se);
}
System.out.println("connection is successful!!!");

try{
String selectSQL = "select ID, NAME, ADDRESS from tb_address";
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(selectSQL);

while(rset.next()){
System.out.println("ID: " + rset.getString(1) + " NAME: " +
rset.getString(2) + " ADDRESS:" +
rset.getString(3));
}

stmt.close();
} catch(SQLException se) {
System.out.println(se);
}
}

You might also like