Social Icons

Pages

Kamis, 23 Oktober 2008

Eksplorasi sederhana Database ORACLE dengan ORA Extention Module di PHP


Pada posting yang lalu, telah dibahas mengenai cara mengetahui fasilitas oracle enable dan OCI8 sudah tersedia dan siap pakai melalui phpinfo.

Untuk kesempatan ini penulis mencoba berbagi tentang cara mengatur koneksi PHP - Oracle menggunakan ORA Extention Module serta cara menampilkan row data dari suatu tabel.

Untuk menjalankan fungsi - fungsi dalam library ORA extention Module,pastikan sudah ter-instal SQL*NET atau SQL*PLUS from Windows.

I. Koneksi Data source Name

Langkah pertama yang harus dilakukan sebelum kita memakai/menggunakan obyek atau "sumber daya alam" yang tersedia dari suatu Oracle RDBMS adalah dengan menjalankan fungsi koneksi ke Data source Name dengan user dan password yang diizinkan.

Bentuk umum dari fungsi ORA_LOGON sebagai berikut:
ora_logon("user@data_source_name","password")

berikut script PHP, melakukan koneksi ke DSN:ORCL dengan menggunakan user :scott dan password:tiger


catatan: untuk user,password dan DSN untuk disesuaikan dengan kondisi yang ada

// --- fungsi koneksi -----
if (!$db=ora_logon("scott@ORCL","tiger"))

{
die("Koneksi Database Gagal !");
}else{
echo "Koneksi Database Sukses";
}
//-------


jika koneksi berhasil di web broser akan menampilkan pesan

"Koneksi Database Sukses"

dan sebaliknya jika gagal pesan menjadi

"Koneksi Database Gagal !"

II. Menampilkan row data , dengan perintah SQL

Setelah proses koneksi berhasil, kita dihadapkan secara langsung dengan obyek obyek milik database tersebut.
selanjutnya kita definisikan variable CURSOR, dalam hal ini pengertian CUrsor adalah interface yang akan menerima atau mengakses nilai dari suatu QUERY.

Bentuk Umum pendifinisian Cursor

$variable =ora_open($db); contoh : $curs=ora_open($db);

Setelah Cursor didefinisikan, Untuk validasi SQL command di Query kita gunakan fungsi ora_parse()

Bentuk umumnya :

ora_parse($curs,$sql); contoh :ora_parse($curs,"select * from emp");

Setelah perintah sql dinyatakan valid,Cursor akan dieksekusi dengan procedure Ora_exec()

seperti berikut:

ora_exec($curs);

suatu nilai data skalar (array) telah di terima Cursor, untuk menampilkan nilai tersebut diterapkanlah bentuk pengulangan while pada fungsi ora_fetch()

while (ora_fetch($cur))
{
//--- pembacaan nilai
}

itulah langkah-langkah cara menampilkan row data dengan fungsi yang tersedia di ORA extention Module.

sebagai penutup, berikut script lengkap dari bahasan kali ini:

//--- cakmamed -------
if (!$db=@ora_logon("scott@ORCL","tiger"))
{
die("Koneksi Database Gagal !");
}else{
echo "Koneksi Database Sukses


";
}
//--- cakmamed ----------

$curs = ora_open($db);
if (!@ora_parse($curs,"SELECT * FROM emp ")) {
echo "SQL ada kesalahan
";
} else {

ora_exec($curs);
$ncols = ora_numcols($curs);



for ($x=0;$x<$ncols;$x++) { echo"\t" ;echo ora_columnname($curs,$x); } echo " "; while (ora_fetch($curs)) { for ($x=0;$x<$ncols;$x++) { echo "\t" . ora_getcolumn($curs, $x);} echo " "; } ora_logoff($db);

}

bentuk tampilan hasilnya :





Tanpa mengurangi rasa hormat,
sampaikan komentar anda mengenai tulisan ini sebagai bentuk apresiasi anda



Semoga Bermanfaat,
Salam Nyu-bi

Cakmamed for takwa-inspiration

3 comments :

diky mengatakan...

keep posting boss..

Anonim mengatakan...

salam kenal..
mau nanya, bedanya OCI ma ORA apa y?
kapan kita pake OCI, kapan kita pake ORA?
saya bener2 baru tw klo ternyata bs pake ORA..biasanya c saya selalu pake oCI..hehe,,
thnx bgt infonya,, ^^

Takwa mengatakan...

Salam kenal kembali Bung MeonLee

Memang benar yang bung sampaikan bahwa sebagian Developer menggunakan OCI8 dalam mengekplorasi PHP-Oracle.

Secara konsep, penggunaan kedua library tersebut hampir sama yaitu menangani service transaksi Oracle.

1 Hal yang membuat berbeda adalah OCI dapat menangani transaksi untuk object besar seperti BLOBs, BFILEs, ROWIDs, dll.
dimana kemampuan ini tidak dimiliki oleh ORA-exten

Kurang lebihnya terima kasih.

 

Sample text

Sample Text

Sample Text