Judul di atas sebenernya dah ada di blog nya mas KurniawaDP (klik disini), makasih ya mas
. Cuma berhubung saya pake xaraya (cms) ada sedikit tambahan.
Setelah mengubah file “adodb/drivers/adodb-mysql.inc.php” kita masih perlu mengubah file “includes/xarDB.php”.
Secara default, cms xaraya menggunakan satu koneksi yang di buat pada file “var/config.system.php”, tapi dengan bantuan mas Kurniawan tadi kita bisa membuat beberapa koneksi database.
Yang pertama adalah buat satu koneksi lagi pada fungsi “xarDB_init” seperti dibawah ini :
$dbconn =& xarDBNewConn(); // pemanggilan fungsi default
Pada pemanggilan pertama fungsi “xarDBNewConn()” tidak disertakan argument, hal ini (secara default) akan membuat xaraya menggunakan koneksi dari file “var/config.system.php”. Koneksi yang digunakan adalah koneksi dengan index[0]. Selanjutnya kita dapat menambahkan koneksi yang kita butuhkan :
$dbconn =& xarDBNewConn( array( 'databaseType' => 'mysql',.
'databaseHost' => 'localhost',
'databaseName' => 'jepe_db',
'userName' => 'jepe',
'password' => 'janganTanya'));
// deklarasi tambahan
Untuk pemanggilan kedua ini kita menyertakan argument pada fungsi “xarDBNewConn()” yaitu variable-variable yang digunakan pada file “config.system.php” (tentunya dengan nilai variable adalah koneksi untuk database yang lain). Secara otomatis koneksi ini akan mendapatkan index[1].
Anda boleh menggunakan nama variable yang sama( $dbconn ) untuk digunakan pada pemanggilan fungsi “xarDBNewConn()”. Hal ini karena koneksi yang terjadi berdasarkan “key” yang dihasilkan oleh setiap koneksi baru dan setiap “key” untuk setiap koneksi pasti berbeda.
Fungsi xarDBGetConn
Masih pada file yang sama kita akan temukan satu fungsi sperti dibawah ini :
function &xarDBGetConn($index=0)
{
// we only want to return the first connection here
// perhaps we'll add linked list capabilities to this soon
return $GLOBALS['xarDB_connections'][$index];
}
fungsi diatas secara default hanya menggunakan koneksi dengan index[0] oleh karena itu kita tambahkan fungsi untuk pemanggilan koneksi untuk index selanjutnya.
function &xarDBGetConn2($index=1)
{
// we only want to return the first connection here
// perhaps we'll add linked list capabilities to this soon
return $GLOBALS['xarDB_connections'][$index];
}
fungsi ini akan dipanggil pada class setiap modul .
class xarHello{
/* ------------------------------------------------------------------------------
* Properties
* ------------------------------------------------------------------------------ */
// database connection object
var $dbconn;
// database connection to server pemprov
var $dbconn2;
// error message
var $errormsg;
/* ------------------------------------------------------------------------------
* Methods
* ------------------------------------------------------------------------------ */
/**
* Constructor
*
*/
function __construct() {
// Get database setup
$this->dbconn =& xarDBGetConn();
$this->dbconn2=& xarDBGetConn2();
}
}
dan Koneksi siap digunakan
Klo ada yang bisa memberikan metode yang lebih efektif dan efisien untuk koneksi multidatabase pada xaraya sangat saya tunggu.
November 29, 2007 at 11:11 am
test avatar
December 6, 2007 at 12:41 am
Avatarmu kamu taruh di gravatar ato yg di WP? Eh, btw, aq dengar gravatar n WP mo jadi satu. Ntah udah ato belum…
June 21, 2008 at 8:57 pm
Mas, saya baru pake XAraya.
trus bagaimana ya caranya buat ngubah theme default xaraya menjadi theme
yang kita punya.
Trim’s
September 16, 2008 at 7:06 am
mas artikel ini boleh saya post di id.xaraya.com?
September 16, 2008 at 7:12 am
bukankah fungsi:
function &xarDBGetConn($index=0)
nggak perlu kita ubah jadi
function &xarDBGetConn2($index=1)
karena kita cukup memanggil & xarDBGetConn( 1 ) nggak perlu & xarDBGetConn2()
June 10, 2009 at 5:54 pm
Wah http://blog.kurniawandp.com/index.php/archives/17 dead links mas,, ada yg punya arsipnya??