Cara membuat library koneksi CodeIgniter dengan Database IBM DB2 dan Adodb

Selamat berjumpa kembali dengan tutorial kami di Media Kreatif. Pada kesempatan kali ini kita akan membahas tentang bagaimana caranya menghubungkan Aplikasi CodeIgniter dengan Database DB2
Sekedar diketahui bersama, DB2 adalah Apalikasi Database yang dikembangkan oleh IBM yang kemampuannya jauh lebih tinggi dibandingkan Oracle. Tentunya biaya untuk pembelian lisensi penggunaan database ini sudah dapat kita tebak, harganya selangit ;( , tapi tenang, kalau sekedar untuk belajar kita bisa mencari versi freenya yang sudah disediakan oleh IBM
Berkenaan dengan CodeIgniter, ternyata database Driver pada CodeIgniter belum mendukung untuk akses ke database DB2, sehingga kita memerlukan Database Driver lain yang akan kita tambahkan pada library CodeIgniter, database Driver yang dimaksud dalam hal ini adalah Adodb, bahkan untuk mengakses Database Oracle pun, Database driver pada CodeIgniter juga akan mengalami kendala ketika harus berhadapan dengan REF CURSOR pada Oracle, dan lagi - lagi Adodb menjadi pilihan untuk mengatasi masalah tersebut.
Adapun langkah - langkah yang harus dilakukan dalam proses koneksi DB2 dengan CodeIgniter antara lain :
1. Download Database Driver Adodb
Adodb merupakan database driver yang sangat powerful untuk keperluan akses ke beberapa Database server. Adodb dapat kita peroleh dengan gratis pada alamat berikut :
» . phplens.com
» . Source forge
Setelah mendownload Adodb, jangan lupa extract dan copy folder Adodb ke direktory
/application/libraries/
2. Buat class library Adodb » /application/libraries/Adodb.php
Buat file berikut dan tempatkan pada direktori /application/libraries/ bersebelahan dengan folder adodb yang sudah kita copykan sebelumnya.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Adodb { function Adodb() { if (!class_exists('ADONewConnection') ) { require_once(APPPATH . 'libraries/adodb/adodb.inc.php'); } $ci =& get_instance(); $db_var = false; $debug = false; // try to load config/adodb.php // extra parameter comes from patch at http://www.codeigniter.com/wiki/ConfigLoadPatch/ // without this patch, if config/adodb.php doesn't exist, CI will display a fatal error. if (!isset($dsn) or $dsn == NULL) { // fallback to using the CI database file include(APPPATH . 'config/database.php'); $group = 'default'; $dsn = $db[$group]['dbdriver'].'://'.$db[$group]['username'] .':'.$db[$group]['password'].'@'.$db[$group]['hostname'] .'/'.$db[$group]['database']; } // $ci is by reference, refers back to global instance $ci->adodb = ADONewConnection($dsn); $ci->db = $ci->adodb; if ($debug) { $ci->adodb->debug = true; } $ci->db = $ci->adodb; return $this; } } ?>
3. Download php_ibm_db2.dll
File tersebut merupakan library db2 client untuk PHP yang disediakan oleh IBM untuk kita tambahkan pada extensi pada PHP kita. Download file tersebut pada alamat berikut :
Download php_ibm_db2.dll
Setelah mendownload file tersebut, silahkan copy file tersebut pada direktory extensi php kita, biasanya terletak pada /php/ext/ , setelah memasukkan file tersebut, jangan lupa untuk mengaktifkannya dengan cara menambahkan kode berikut pada konfigurasi php.ini, cari file php.ini kemudian edit dan tambahkan kode
extension=php_ibm_db2.dll
Pada deretan daftar extensi php kita. setelah selesai dengan proses tersebut, kita harus restart apache kita untuk mengaktifkan extensi db2 client tersebut pada php komputer kita.
4. Setting konfigurasi database CodeIgniter » /application/config/database
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /* | ------------------------------------------------------------------- | DATABASE CONNECTIVITY SETTINGS | ------------------------------------------------------------------- | This file will contain the settings needed to access your database. | | For complete instructions please consult the 'Database Connection' | page of the User Guide. | | ------------------------------------------------------------------- | EXPLANATION OF VARIABLES | ------------------------------------------------------------------- | | ['hostname'] The hostname of your database server. | ['username'] The username used to connect to the database | ['password'] The password used to connect to the database | ['database'] The name of the database you want to connect to | ['dbdriver'] The database type. ie: mysql. Currently supported: mysql, mysqli, postgre, odbc, mssql, sqlite, oci8 | ['dbprefix'] You can add an optional prefix, which will be added | to the table name when using the Active Record class | ['pconnect'] TRUE/FALSE - Whether to use a persistent connection | ['db_debug'] TRUE/FALSE - Whether database errors should be displayed. | ['cache_on'] TRUE/FALSE - Enables/disables query caching | ['cachedir'] The path to the folder where cache files should be stored | ['char_set'] The character set used in communicating with the database | ['dbcollat'] The character collation used in communicating with the database | NOTE: For MySQL and MySQLi databases, this setting is only used | as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7 | (and in table creation queries made with DB Forge). | There is an incompatibility in PHP with mysql_real_escape_string() which | can make your site vulnerable to SQL injection if you are using a | multi-byte character set and are running versions lower than these. | Sites using Latin-1 or UTF-8 database character set and collation are unaffected. | ['swap_pre'] A default table prefix that should be swapped with the dbprefix | ['autoinit'] Whether or not to automatically initialize the database. | ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections | - good for ensuring strict SQL while developing | | The $active_group variable lets you choose which connection group to | make active. By default there is only one group (the 'default' group). | | The $active_record variables lets you determine whether or not to load | the active record class */ $active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = "driver={IBM db2 odbc DRIVER};Database=DB_NAME;hostname=DB_HOSTNAME;port=50000;protocol=TCPIP;"."uid=DB_USER; pwd=DB_PASSWORD"; $db['default']['username'] = 'DB_USER'; $db['default']['password'] = 'DB_PASSWORD'; $db['default']['database'] = 'DB_NAME'; $db['default']['dbdriver'] = 'odbc_db2'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; /* End of file database.php */ /* Location: ./application/config/database.php */
Library database ini tidak perlu kita load pada CodeIgniter seperti yang biasa kita lakukan pada file /applications/config/autoload.php , hal ini dikarenakan pada CodeIgniter tidak terdapat database driver odbc_db2 sehingga kalau kita load library databasenya akan memunculkan pesan koneksi eror pada CodeIgniter. Yang harus kita load dalam hal ini adalah library Adodb yang sudah kita buat sebelumnya, yaitu Adodb.php. Buka file /applications/config/autoload.php , kemudian load library Adodb dengan cara menambahkan adodb pada bagian berikut :
$autoload['libraries'] = array('adodb');
Jangan lupa untuk menyesuaikan konfigurasi database sesuai dengan kebutuhan kita, yaitu :
- DB_NAME » NAMA DATABASE
- DB_HOSTNAME » IP DATABASE SERVER
- DB_USER » USERNAME DATABASE
- DB_PASSWORD » PASSWORD DATABASE
Setelah melakukan langkah - langkah diatas dengan benar, silahkan coba untuk menjalankan Aplikasi CodeIgniter kita yang sudah kita hubungkan dengan Database DB2. Hal yang perlu diingat adalah, database driver yang kita gunakan selanjutnya bukan lagi milik CodeIgniter, akan tetapi adalah milik Adodb, sehingga perintah - perintahnyapun akan berubah seseuai dengan Adodb seperti terlihat pada contoh berikut.
$this->db->query('sql command') &rquo; $this->db->Execute('sql command') ->result() » ->FetchRow() ->num_rows() » ->RecordCount() //Dan lain - lain
Sekian dulu tutorial yang bisa kami sampaikan untuk anda, selamat mencoba dan salam kreatif
Komentar pembaca
![]() |
Today | ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
Yesterday | ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
All visitor | ![]() ![]() ![]() ![]() ![]() ![]() |

Pelatihan Website bersama Media Kreatif Indonesia
laboratorium Komputer dan teknology Kampus I ITN Malang 2013-07-09 08:00:00