Dikarenakan adanya request dari seorang pengunjung untuk mensettingkan codeigniter-nya dengan adoDB. Dengan senang hati saya akan sampaikan langkah-langkahnya.
Langkahs:
- mungkin liat-liat dulu kenapa musti gunakan adodb ketimbang fasilitas yang sudah diprovide oleh CI. kali aja abis baca itu gak jadi nerusin, kan ga jadi buang waktu
- klo langkah satu sudah ok, donlod adodb
- extract file ke dalam CI/system/application/libraries/adodb/
- kita buat CI untuk me-load adodb yang baru kita masukkan
buka file CI/system/application/config/autoload.php, tambahkan load libraries:
$autoload['libraries'] = array(‘database’, ‘adodbloader’); - lalu kita coba liat libraries adodbloader ini (baca: dibuat ato donlod)
CI/system/application/libraries/Adodbloader.php
<?php if (!defined(‘BASEPATH’)) exit(‘No direct script access allowed’);
Class Adodbloader{
function Adodbloader(){
if ( !class_exists(‘ADONewConnection’) )
require_once(APPPATH.’libraries/adodb/adodb.inc’.EXT);
$obj =& get_instance();
$this->_init_adodb_library($obj);
}function _init_adodb_library(&$ci) {
$db_var = false;
$debug = false;if (!isset($dsn)) {
// fallback to using the CI database file
include(APPPATH.’config/database’.EXT);
$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);if ($db_var) {
// also set the normal CI db variable
$ci->db =& $ci->adodb;
}if ($debug) {
$ci->adodb->debug = true;
}
}
}
Ini dulu saya download dari manaaa gitu, terus ada satu conditional blok yang saya hapus untuk menskip pembacaan file adodb.php (dsn file), sehingga dia langsung otomatis baca CI/system/application/config/database.php. Jadi Setting database.php kamu sesuai konfigurasi database yang ada.
Selanjutnya tinggal kita coba apakah settingan kita sudah berjalan atau belum. Edit file CI/system/application/controllers/welcome.php.
function index(){
$this->adodb->debug=1;
echo $this->adodb->GetOne(“SELECT now()”);
//$this->load->view(‘welcome_message’);
}
O, sekarang coba buka http://localhost/CI. Jikalau yang keluar cacing, maka kemungkinan besar loader gagal. Jika yang keluar jin botol anda mungkin seberuntung Ali Baba
Gunakan selalu $this->adodb->AdoDBMethod();
gud lak brader…
tested on CI 1.7
Mas furqon,
khusus untuk postgre, sepertinya ada kiat tersendiri untuk bisa konek. dikarenakan:
1. dbdriver yang diprovide codeigniter hanya postgre
2. dbdriver dari adodb adanya postgres,postgres7 dst..
kiatnya akhirnya aku hardcode baris $dsn dst…
ganti
$db[$group]['dbdriver']
dengan string:
‘postgres7′
demikian..
salam kenal mas..
By: sarah on February 7, 2009
at 12:55 am
[...] ดูอีกที ที่ unluckyluke.wordpress.com ตัวนี้ก็ดีครับ [...]
By: Codeigniter 1.7.1 + ADOdb for PHP5 by LAB.TOSDN on February 13, 2009
at 6:06 pm
bozzz… ni tak coba konek ke oci8 kok ndak isa ya???
By: konoha on February 17, 2009
at 7:08 am
@konoha:
error messagenya apa yah bang?
By: Furqon on February 17, 2009
at 9:12 am
muncul err :
Message: ocilogon() [function.ocilogon]: ORA-12545: Connect failed because target host or object does not exist
trus muncul juga :
Fatal error: Call to undefined method stdClass::GetOne() in D:\htdocs\CI\system\application\controllers\welcome.php on line 14
pusiingggg… napa ya gitu itu???
oia di config/database.php tak isi gini :
$db['default']['hostname'] = “DBSERVER2″; //TNSNAME
$db['default']['username'] = “konoha”;
$db['default']['password'] = “konoha”;
$db['default']['database'] = “orcl”;
$db['default']['dbdriver'] = “oci8″;
tak tunggu pencerahannya bozz..
nb: nice to talk with u pall, muachhhh… ^_^
By: konoha on February 18, 2009
at 5:29 am
baydewei..
adodbloader nya sudah diload belum yah?
$autoload['libraries'] = array(’database’, ‘adodbloader’);
ini opsi dsn adodb untuk oci8
$dsn = ‘oci8://user:pwd@tnsname/?persist’; # persist is optional
$dsn = ‘oci8://user:pwd@host/sid’;
$dsn = ‘oci8://user:pwd@/’; # oracle on local machine
liat hardcode-nya mbak sarah deh…
semoga membantu..
By: Furqon on February 18, 2009
at 10:14 am
okkke sipp…
it works
By: konoha on February 19, 2009
at 10:02 am
Mas, Kalau Errornya seperti ini kenapa yah?
Parse error: syntax error, unexpected T_STRING in C:\AppServ\www\yayan\system\application\libraries\adodbloader.php on line 1
By: ayay on August 25, 2009
at 3:05 am
cek lagi deh baris satunya.. itu kemungkinan besar misstyped aja..
By: Furqon on August 25, 2009
at 8:10 am