ODBC and JDBC
ODBC
Open Database Connectivity (ODBC) adalah
Application Programming interface (API) database yang khusus digunakan untuk
mengakses database relasional, juga sebuah standar database yang metode aksesnya dikembangkan oleh kelompok SQL
Access .ODBC terdapat dalam setiap komputer
yang menggunakan sistem operasi windows, karena ODBC merupakan bagian dari
Windows Open System Architecture (WOSA). Dalam ODBC disediakan berbagai
Application Programming Interface (API) yang berguna untuk menyediaan dan
memberikan stkitar bagi berbagai kegiatan pemrograman. Keuntungan utama
menggunakan ODBC ini adalah fleksibilitas, fleksibel disini artinya pengubahan
jenis database yang dipergunakan oleh sebuah aplikasi tidak akan mempengaruhi
kode program aplikasi tersebut.ODBC terdapat dalam Control Panel Windows, yang
ditunjukkan dengan icon Data Source (ODBC).
Tujuan dari ODBC adalah untuk memungkinkan
user mengaksesdata yang ada dari setiap aplikasi , tentunya tidak terlepas dari yang sistem manajemen database (DBMS) untuk penanganan data. ODBC memanage ini dengan inserting
midle layer,yang disebut database Driver, antara aplikasi dan DBMS. Tujuan dari lapisan ini adalah untuk
menerjemahkan data aplikasi query ke command agar DBMS
mengerti.
Pada ODBC terdapat 2 hal penting yang berkaitan dengan koneksi database, yaitu :
1. Database Driver
Database Driver adalah software/driver yang berfungsi untuk membuat koneksi ke database yang sesuai dengan database tersebut. Setiap database memiliki driver yang spesifik, sehingga dalam sebuah ODBC data berisi lebih dari 1 database driver.
Database Driver adalah software/driver yang berfungsi untuk membuat koneksi ke database yang sesuai dengan database tersebut. Setiap database memiliki driver yang spesifik, sehingga dalam sebuah ODBC data berisi lebih dari 1 database driver.
2. Data Source Name (DSN)
Data Source Name (DSN) adalah nama/alias dari database yang digunakan oleh program, yang koneksinya melalui ODBC.
Data Source Name (DSN) adalah nama/alias dari database yang digunakan oleh program, yang koneksinya melalui ODBC.
Dalam ODBC terdapat beberapa jenis Data
Source Name yang akan menentukan otoritas pemakai database, yaitu :
User DSN
User DSN bersifat private bagi user pembuatnya, artinya DSN jenis ini hanya dapat dipergunakan/tampak oleh user yang membuatnya (yaitu user yang login dengan username pembuat DSN tersebut), yang perlu menjadi catatan adalah bahwa sifat user DSN ini hanya berjalan pada Windows NT.
User DSN bersifat private bagi user pembuatnya, artinya DSN jenis ini hanya dapat dipergunakan/tampak oleh user yang membuatnya (yaitu user yang login dengan username pembuat DSN tersebut), yang perlu menjadi catatan adalah bahwa sifat user DSN ini hanya berjalan pada Windows NT.
System DSN
System DSN bersifat public dalam sebuah komputer, artinya semua user yang menggunakan komputer dimana Sistem DSN di-install dapat menggunakannya walaupun bukan pembuatnya.
System DSN bersifat public dalam sebuah komputer, artinya semua user yang menggunakan komputer dimana Sistem DSN di-install dapat menggunakannya walaupun bukan pembuatnya.
File DSN
File DSN adalah satu-satunya yang bisa di-share dan dapat dipergunakan komputer lain yang memiliki driver database yang sama, dengan demikian setting untuk koneksi database cukup dilakukan pada 1 komputer saja dan komputer yang lain cukup me-load-nya saja. File DSN ini umumnya dipergunakan untuk aplikasi multiuser pada suatu LAN.
File DSN adalah satu-satunya yang bisa di-share dan dapat dipergunakan komputer lain yang memiliki driver database yang sama, dengan demikian setting untuk koneksi database cukup dilakukan pada 1 komputer saja dan komputer yang lain cukup me-load-nya saja. File DSN ini umumnya dipergunakan untuk aplikasi multiuser pada suatu LAN.
ODBC memiliki beberapa komponen utama,
yakni sebagai berikut:
1. ODBC API : sekumpulan panggilan fungsi, kode-kode
kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah
DBMS diakses.
2. Driver basis data ODBC : driver (yang berupa dynamic link library)
yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu.
3. ODBC Driver Manager : yang bertugas untuk memuat driver basis
data ODBC yang dibutuhkan oleh aplikasi.
Pengguna sistem operasi Windows dapat mengonfigurasikan ODBC dengan menggunakan utilitas ODBC yang terdapat di dalam Control Panel. Utilitas ini mengizinkan mereka untuk mendefinisikan DSN (Data Source Name) untuk basis data yang hendak diakses dan juga driver yang digunakan untuk mengakses basis data tersebut. Untuk mengonfigurasikan ODBC dengan utilitas ini, mereka dapat mengasosiasikan sebuah DSN dengan sebuah driver ODBC, yang mengizinkan aplikasi untuk dapat berinterakse dengan sebuah basis data yang disimpan baik secara lokal di dalam mesin yang sama maupun di dalam server jaringan.
Pengguna sistem operasi Windows dapat mengonfigurasikan ODBC dengan menggunakan utilitas ODBC yang terdapat di dalam Control Panel. Utilitas ini mengizinkan mereka untuk mendefinisikan DSN (Data Source Name) untuk basis data yang hendak diakses dan juga driver yang digunakan untuk mengakses basis data tersebut. Untuk mengonfigurasikan ODBC dengan utilitas ini, mereka dapat mengasosiasikan sebuah DSN dengan sebuah driver ODBC, yang mengizinkan aplikasi untuk dapat berinterakse dengan sebuah basis data yang disimpan baik secara lokal di dalam mesin yang sama maupun di dalam server jaringan.
JDBC
JDBC merupakan kepanjangan dari Java DataBase
Connection. Sesuai dengan namanya, JDBC ini merupakan sebuah API (Application
Programming Interface) untuk berkoneksi dengan database, baik database MySql,
Oracle, Ms.Access, maupun database yang lain. Sun menyediakan JDBC API ini
untuk vendor database yang ingin databasenya dapat terintegrasi dengan Java.
Sehingga setelah rilis JDBC API ini para vendor database membuat driver-driver
mereka agar dapat klop dengan API ini.
Sebetulnya sebelum JDBC, dulu pernah ada ODBC, nah tapi kemudian Sun Microsystem membuat DataBase Connection sendiri yang ditulis dengan Java. Sekarang terkenal dengan JDBC. Untuk dapat berkoneksi dengan database, JDBC API membutuhkan yang namanya JDBC Driver. JDBC Driver ini dibuat oleh vendor database
Sebetulnya sebelum JDBC, dulu pernah ada ODBC, nah tapi kemudian Sun Microsystem membuat DataBase Connection sendiri yang ditulis dengan Java. Sekarang terkenal dengan JDBC. Untuk dapat berkoneksi dengan database, JDBC API membutuhkan yang namanya JDBC Driver. JDBC Driver ini dibuat oleh vendor database
Apa yang dilakukan JDBC?
Teknologi JDBC mampu untuk melakukan tiga hal berikut:
1. Membangun sebuah koneksi ke sumber data (data source).
2. Mengirim statement ke sumber data.
3. Memproses hasil dari statement tersebut
Teknologi JDBC mampu untuk melakukan tiga hal berikut:
1. Membangun sebuah koneksi ke sumber data (data source).
2. Mengirim statement ke sumber data.
3. Memproses hasil dari statement tersebut
Tipe-tipe Driver JDBC
JDBC API terdiri atas dua interface utama, yang pertama yaitu JDBC API untuk penulis aplikasi, dan yang kedua yaitu lower-level JDBC driver API untuk penulis driver.
Teknologi driver JDBC dapat dibagi kedalam empat kategori:
1. JDBC-ODBC Bridge plus ODBC Driver
Kombinasi ini menghasilkan akses JDBC melalui driver ODBC. Menjembatani antara aplikasi Java dengan Microsoft ODBC. Tipe driver ini paling cocok untuk jaringan korporat dimana instalasi klien bukan masalah besar, atau untuk aplikasi server yang ditulis dalam bahasa Java dalam arsitertur 3-tier.
2. Native API party Java technology-enabled driver
Tipe driver ini mengkonversi JDBC call ke dalam client API untyk Oracle, Sybase, Informix, DB2, dan DBMS yang lain. Tipe ini memerlukan kode binary yang spesifik terhadap sistem operasi yang di-load kedalam masing-masing klien.
3. Pure Java Driver for Database Middleware (JDBC-Net)
Model driver ini menerjemahkan JDBC call kedalam protokol middleware vendor, yang kemudian diterjemahkan ke protokol DBMS oleh server middleware. Middleware menyediakan konektifitas ke berbagai jenis database yang berbeda.
4. Native-protocol Pure Java Driver
Model driver ini mengkonversi JDBC call langsung kedalam protokol network yang digunakan oleh DBMS, mengijinkan direct call dari mesin klien ke server DBMS dan memberikan solusi praktis untuk akses internet.
JDBC API terdiri atas dua interface utama, yang pertama yaitu JDBC API untuk penulis aplikasi, dan yang kedua yaitu lower-level JDBC driver API untuk penulis driver.
Teknologi driver JDBC dapat dibagi kedalam empat kategori:
1. JDBC-ODBC Bridge plus ODBC Driver
Kombinasi ini menghasilkan akses JDBC melalui driver ODBC. Menjembatani antara aplikasi Java dengan Microsoft ODBC. Tipe driver ini paling cocok untuk jaringan korporat dimana instalasi klien bukan masalah besar, atau untuk aplikasi server yang ditulis dalam bahasa Java dalam arsitertur 3-tier.
2. Native API party Java technology-enabled driver
Tipe driver ini mengkonversi JDBC call ke dalam client API untyk Oracle, Sybase, Informix, DB2, dan DBMS yang lain. Tipe ini memerlukan kode binary yang spesifik terhadap sistem operasi yang di-load kedalam masing-masing klien.
3. Pure Java Driver for Database Middleware (JDBC-Net)
Model driver ini menerjemahkan JDBC call kedalam protokol middleware vendor, yang kemudian diterjemahkan ke protokol DBMS oleh server middleware. Middleware menyediakan konektifitas ke berbagai jenis database yang berbeda.
4. Native-protocol Pure Java Driver
Model driver ini mengkonversi JDBC call langsung kedalam protokol network yang digunakan oleh DBMS, mengijinkan direct call dari mesin klien ke server DBMS dan memberikan solusi praktis untuk akses internet.
Langkah-langkah
untuk berinteraksi dengan database server dengan menggunakan JDBC adalah
sebagai berikut :
1.
Mengimpor package java.sql
2.
Mendefinisikan Url
3. Memanggil Driver
JDBC
4. Membangun
Koneksi
5. Membuat
Statement
6. Melakukan
Query
7. Memproses
Hasil
8. Menutup
Koneksi
1. Mengimpor package java.sql
Pertama-tama
yang harus dilakukan sebelum Anda membuat program JDBC adalah mengimpor package
java.sql terbih dahulu, karena di dalam package java.sql tersebut terdapat
kelas-kelas yang akan digunakan dalam proses-proses berintekasi dengan database
server misalnya kelas DriverMaganer, Connection, dan ResultSet.
Adapun
listing untuk mengimpor package java.sql adalah sebagai berikut :
Import
java.sql.*;
2.
Mendefinisikan URL untuk koneksi
database
3. Memanggil Driver JDBC
Langkah
berikutnya untuk melakukan koneksi dengan database server adalah dengan
memanggil JDBC Driver dari database server yang kita gunakan. Driver adalah
library yang digunakan untuk berkomunikasi dengan database server. Driver dari
setiap database server berbeda-beda, sehingga Anda harus menyesuaikan Driver
JDBC sesuai dengan database server yang Anda gunakan.
Berikut ini
adalah listing program untuk memanggil driver JDBC.
Class.forName(namaDriver);
atau
Class.forName(namaDriver).newInstance();
Contoh
listing memanggil driver untuk database server menggunakan MySQL adalah :
try {
Class.forName(“com.mysql.jdbc.Driver”);
} catch (ClassNotFoundException cnfe) {
System.out.println(“Pesan Error : “ + cnfe)
}
Berikut ini
adalah daftar nama-nama driver dari beberapa database server yang sering
digunakan.
Database Server
|
Nama Driver
|
JDBC-ODBC
|
sun.jdbc.odbc.JdbcOdbcDriver
|
MySQL
|
com.mysql.jdbc.Driver
|
PostgreSQL
|
org.postgresql.Driver
|
Microsoft
SQLServer
|
com.microsoft.jdbc.sqlserver.SQLServerDriver
|
Oracle
|
oracle.jdbc.driver.OracleDriver
|
IBM DB2
|
COM.ibm.db2.jdbc.app.DB2Driver
|
4. Membangun Koneksi
Setelah
melakukan pemanggilan terhadap driver JDBC, langkah selanjutnya adalah
membangun koneksi dengan menggunakan interface Connection. Object Connection yang dibuat untuk membangun koneksi
dengan database server tidak dengan cara membuat object baru dari interface
Connection melainkan dari class DriverManager
dengan menggunakan methode getConnection().
Connection koneksi =
DriverManager.getConnection(<argumen>)
Untuk
menangani error yang mungkin terjadi pada proses melakukan koneksi dengan
database maka ditambahkan try-catch. Exception yang akan dihasilkan pada proses
ini adalah berupa SQLException. Adapun cara penulisan listingnya adalah sebagai
berikut :
try {
... koneksi database
} catch (SQLException sqle){
... penanganan error koneksi
}
Berikut ini
adalah daftar penulisan URL dari beberapa database server yang sering digunakan.
Database Server
|
Nama URL
|
Contoh penggunaan
|
JDBC-ODBC
|
jdbc:odbc:<NamaDatabase>
|
jdbc:odbc:Dbase
|
MySQL
|
jdbc:mysql://<nmHost>:<port>/<nmDB>
|
jdbc:mysql://localhost:3306/Dbase
|
PostgreSQL
|
jdbc:postgresql://<nmHost>:<port>/<nmDB>
|
jdbc:postgresql://localhost:5432/Dbase
|
Microsoft
SQLServer
|
jdbc:microsoft:sqlserver://<nmHost>:<port>;
DatabaseName=<namaDatabase>
|
jdbc:microsoft:sqlserver://localhost:1433;
DatabaseName=Dbase
|
Oracle
|
jdbc:oracle:thin:@<nmHost>:<port>:<nmDB>
|
jdbc:oracle:thin:@localhost:1521:Dbase
|
IBM DB2
|
jdbc:db2:<NamaDatabase>
|
jdbc:db2:Dbase
|
5. Membuat Object Statement
JDBC API
menyediakan interface yang berfungsi untuk melakukan proses pengiriman
statement SQL yang terdapat pada package java.sql. Di dalam JDBC API disediakan
tiga buah interface untuk fungsi tersebut yaitu :
n Statement
Interface ini dibuat oleh methode Connection.createStatement(). Object Statement digunakan untuk
pengiriman statement SQL tanpa parameter.
Statement stat = Connection.createStatement();
n PreparedStatement
Interface ini dibuat oleh methode Connection.prepareStatement(). Object PreparedStatement digunakan
untuk pengiriman statement SQL dengan atau tanpa parameter. Dengan object ini,
kita dapat menampung satu atau lebih parameter sebagai argumen input (perameter
IN). Interface ini memiliki performa lebih baik dibandingkan dengan interface
Statement karena dapat menjalankan beberapa proses dalam sekali pengiriman
perintah SQL.
PreparedStatement stat = Connection.prepareStatement();
n CallableStatement
Interface ini dibuat oleh methode Connection.prepareCall(). Object CallableStatement digunakan untuk
menjalankan store procedure SQL.
CallableStatement stat = Connection.prepareCall();
6. Melakukan Eksekusi Perintah SQL
Setelah kita
memiliki object statement, kita dapat menggunakannya untuk melakukan pengiriman
perintah SQL dan mengeksekusinya. Methode eksekusi yang digunakan untuk
perintah SQL terbagi menjadi dua bagian yaitu untuk perintah SELECT methode
eksekusi yang digunakan adalah executeQery() dengan nilai kembaliannya adalah
ResultSet, dan untuk perintah INSERT, UPDATE, DELETE methode eksekusi yang
digunakan adalah executeUpdate().
Berikut ini
adalah contoh melakukan eksekusi perintah SQL dan mengambil hasilnya
(ResultSet) dengan menggunakan perintah SELECT.
String sql = “SELECT kode, nama, alamat, kelas FROM
dataSiswa”;
ResultSet set
= stat.executeQuery(sql);
while
(set.next()) {
String kode
= set.getString("kode");
String nama
= set.getString("nama");
String
alamat = set.getString("alamat");
String
kelas = set.getString("kelas");
}
7. Memproses Hasil
8. Menutup Koneksi
Penutupan
terhadap koneksi database perlu dilakukan agar sumber daya yang digunakan oleh
object Connection dapat digunakan lagi oleh proses atau program yang lain.
Sebelum kita
menutup koneksi database, kita perlu melepas object Statement dengan kode
sebagai berikut :
statement.close();
Untuk menutup
koneksi dengan database server dapat kita lakukan dengan kode sebagai berikut :
connection.close();



0 komentar:
Posting Komentar