Koneksi XAMPP dengan Database Oracle Express Edition

Oracle sudah pasti salah satu database yang banyak digunakan oleh berbagai perusahaan besar di dunia. PHP juga merupakan bahasa pemrograman web paling populer saat ini. Menguasai cara mengkoneksikan PHP dan Oracle menggunakan XAMPP adalah tujuan utama dari dokumentasi kali ini. Maklum Newbie baru mau belajar ^_^
Pada kesempatan kali ini saya mencoba belajar PHP dengan database oracle express edition 10g. Lumayan belajar untuk menambah ilmu dan wawasan soal pemrograman dan database setelah sehari-hari berkutat dengan server dan jaringan. Saya mendokumentasikan langkah-langkah mengkoneksikan antara PHP dan Oracle setelah seharian mencoba dan mencari referensi di Mbah Google kemudian mengimplementasikan pada XAMPP (paket all-in-one Apache, PHP, MySQL). Cukup basa-basinya (^_^), berikut aplikasi-aplikasi yang dibutuhkan:
Untuk paket XAMPP anda bisa langsung download, tetapi untuk mendownload 2 aplikasi oracle diatas  anda harus memiliki login atau menjadi member di website oracle (gratis). Disini saya tidak akan membahas cara instalasi XAMPP maupun Oracle DB XE, silahkan dicari tutorialnya di Mbah Google (^_^;)(Kepanjangan, mungkin lain kali akan saya bahas heeheehee). Setelah program XAMPP dan Oracle DB XE diinstall serta Oracle Database Instant Client didownload, lakukan langkah-langkah berikut ini:

  1. Kita harus mengaktifkan modul oci8 pada file konfigurasi php.ini. Jika anda instal XAMPP secara default di windows, filenya akan terdapat pada folder: c:\xampp\php\php.ini
    File php.ini
  2.  Setelah dibuka dengan text editor, cari string "oci8". Jika sudah ditemukan, hilangkan tanda semicolon ";" pada ;extension=php_oci8.dll untuk mengaktifkan modul oracle. Kemudian simpan (save) file php.ini yang telah diubah.
    Mengaktifkan modul Oracle
  3. Ekstrak Oracle Instan Client yang sudah didownload, kemudian kopikan seluruh isi dari folder instantclient_11_2 ke folder "C:\xampp\apache\bin " (atau tergantung dimana anda menginstall webserver apachenya).
    Hasil ekstrak file Instant Client

  4. Kemudian re-start webserver Apache untuk mengaktifkan fungsi modul Oracle DB. Jika diperlukan sekalian di restart komputernya biar afdol (becanda) (^_^)v.
    Pastikan webserver apache sudah di re-start
  5. Selanjutnya masuk ke halaman utama dari xampp melalui web browser (internet explorer, mozilla firefox) Saya kurang merekomendasikan opera karena ada skrip SQL Oracle ketika di load tidak jalan. Kembali ke xampp, biasanya diakses dialamat: http://localhost/xampp/. Kemudian pilih menu php_info(). Kemudian anda geser kebawah sampai menemukan modul OCI8 telah aktif. Jika belum, coba ulangi kembali langkah-langkah diatas.
    Modul oci8 telah aktif
  6. Berikutnya kita akan mencoba mengaktifkan database HR yang telah terinstal secara default pada database oracle untuk ujicoba koneksi dan menampilkan data.Buka Halaman Login Database Oracle dengan browser di alamat: http://127.0.0.1:8080/apex. Masukkan username: system dan passwordnya adalah password ketika anda menginstall pertama kali database oracle.
    Login ke database Oracle XE
  7. Setelah login, masuk ke Menu: Administration - Database Users - Manage User. Pilih HR. Kemudian masukkan password baru, sebagai contoh disini saya memasukkan password: oracle dan ganti Account Status dari Locked menjadi Unlocked. Dan pada bagian user privileges, aktifkan pilihan "DBA".
    Pilih Menu Administration
    Mengaktifkan user HR dan opsi-nya
  8. Berikutnya adalah mencoba membuat file koneksi, ketikkan skrip dibawah ini untuk memulai koneksi ke database oracle. Yang penting adalah pada bagian $conn = oci_connect("HR", "oracle", "//localhost/XE"); Dimana HR=user pada database oracle, oracle=password dari user HR, dan //localhost/XE nama server database yang kita akses.
    <?php
    // Create connection to Oracle
    $conn = oci_connect("HR", "oracle", "//localhost/XE");
    if (!$conn) {
       $m = oci_error();
       echo $m['message'], "\n";
       exit;
    }
    else {
       print "Connected to Oracle!";
    }
    // Close the Oracle connection
    oci_close($conn);
    ?>
  9. Simpan dan jalankan skrip diatas untuk menguji apakah koneksi ke database oracle berhasil atau tidak. jika muncul teks Connected to Oracle, berarti settingan berjalan dengan baik :)
    Koneksi berhasil!
  10. Dibawah ini contoh skrip untuk menampilkan output tabel dari oracle:
    <?php

    // Create connection to Oracle
    $conn = oci_connect("HR", "oracle", "//localhost/XE");

    $query = 'select * from departments';
    $stid = oci_parse($conn, $query);
    $r = oci_execute($stid);

    // Fetch each row in an associative array
    print '<table border="1">';
    while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS+OCI_ASSOC)) {
       print '<tr>';
       foreach ($row as $item) {
           print '<td>'.($item !== null ? htmlentities($item, ENT_QUOTES) : '&nbsp').'</td>';
       }
       print '</tr>';
    }
    print '</table>';

    ?>
  11. Hasil dari skrip diatas:
    Contoh hasil Query
Sekian dokumentasi tentang koneksi XAMPP dengan database oracle, semoga bisa bermanfaat :)

Referensi:
http://jaswanttak.wordpress.com/2010/08/31/activate-oracle-on-xampp-for-windows-oci8/
http://st-curriculum.oracle.com/obe/db/11g/r2/prod/appdev/opensrclang/phphol2010_db/php_db.htm

Komentar

  1. Balasan
    1. Sama2 Bro Ramzy, semoga bermanfaat :)

      Hapus
    2. SAYA MAS JOKO WIDODO DI SURABAYA.
      DEMI ALLAH INI CERITA YANG BENAR BENAR TERJADI(ASLI)BUKAN REKAYASA!!!
      HANYA DENGAN MENPROMOSIKAN WETSITE KIYAI KANJENG DIMAS DI INTERNET SAYA BARU MERASA LEGAH KARNA BERKAT BANTUAN BELIU HUTANG PIUTAN SAYA YANG RATUSAN JUTA SUDAH LUNAS SEMUA PADAHAL DULUHNYA SAYA SUDAH KE TIPU 5 KALI OLEH DUKUN YANG TIDAK BERTANGUNG JAWAB HUTANG SAYA DI MANA MANA KARNA HARUS MENBAYAR MAHAR YANG TIADA HENTINGNYA YANG INILAH YANG ITULAH'TAPI AKU TIDAK PUTUS ASA DALAM HATI KECILKU TIDAK MUNKIN SEMUA DUKUN DI INTERNET PALSU AHIRNYA KU TEMUKAN NOMOR KIYAI KANJENG DI INTERNET AKU MENDAFTAR JADI SANTRI DENGAN MENBAYAR SHAKAT YANG DI MINTA ALHASIL CUMA DENGAN WAKTU 2 HARI SAJA AKU SUDAH MENDAPATKAN APA YANG KU HARAPKAN SERIUS INI KISAH NYATA DARI SAYA.....

      …TERIMA KASIH ATAS BANTUANNYA AKI KANJENG…

      **** BELIAU MELAYANI SEPERTI: ***
      1.PESUGIHAN INSTANT 10 MILYAR
      2.UANG KEMBALI PECAHAN 100rb DAN 50rb
      3.JUAL TUYUL MEMEK / JUAL MUSUH
      4.ANGKA TOGEL GHOIB.DLL..

      …=>AKI KANJENG<=…
      >>>085-320-279-333<<<






      SAYA MAS JOKO WIDODO DI SURABAYA.
      DEMI ALLAH INI CERITA YANG BENAR BENAR TERJADI(ASLI)BUKAN REKAYASA!!!
      HANYA DENGAN MENPROMOSIKAN WETSITE KIYAI KANJENG DIMAS DI INTERNET SAYA BARU MERASA LEGAH KARNA BERKAT BANTUAN BELIU HUTANG PIUTAN SAYA YANG RATUSAN JUTA SUDAH LUNAS SEMUA PADAHAL DULUHNYA SAYA SUDAH KE TIPU 5 KALI OLEH DUKUN YANG TIDAK BERTANGUNG JAWAB HUTANG SAYA DI MANA MANA KARNA HARUS MENBAYAR MAHAR YANG TIADA HENTINGNYA YANG INILAH YANG ITULAH'TAPI AKU TIDAK PUTUS ASA DALAM HATI KECILKU TIDAK MUNKIN SEMUA DUKUN DI INTERNET PALSU AHIRNYA KU TEMUKAN NOMOR KIYAI KANJENG DI INTERNET AKU MENDAFTAR JADI SANTRI DENGAN MENBAYAR SHAKAT YANG DI MINTA ALHASIL CUMA DENGAN WAKTU 2 HARI SAJA AKU SUDAH MENDAPATKAN APA YANG KU HARAPKAN SERIUS INI KISAH NYATA DARI SAYA.....

      …TERIMA KASIH ATAS BANTUANNYA AKI KANJENG…

      **** BELIAU MELAYANI SEPERTI: ***
      1.PESUGIHAN INSTANT 10 MILYAR
      2.UANG KEMBALI PECAHAN 100rb DAN 50rb
      3.JUAL TUYUL MEMEK / JUAL MUSUH
      4.ANGKA TOGEL GHOIB.DLL..

      …=>AKI KANJENG<=…
      >>>085-320-279-333<<<

      Hapus
  2. Trimakasih banyak artikelnya sangat bermanfaat kak... :)

    BalasHapus
  3. tolong sayang butuh bantuan, kenapa ya saya buka dengan http://127.0.0.1:8080/apex. malah masuknya ke tomcat, gmn caranya biar bisa masuk ke halaman login oracle.? trimakasih kak.

    BalasHapus
    Balasan
    1. Halo Endy, sebelumnya saya mau tanya apakah webservernya apache? Di-install stand alone atau melalui paket XAMPP? Saya kurang berpengalaman dengan Tomcat,semoga link ini dapat membantu: http://www.oracle.com/technetwork/articles/oem/ucp-jdbc-tomcat-355431.html

      Hapus
  4. Hi, saya mau nanya untuk performance web yang lambat, apakah ada konfigurasi di xampp untuk mempercepat nya?
    Secara hardware, OS dan Database tidak ada masalah

    Terima kasih sebelumnya

    IBM server
    Windows 2008 R2 64 bit
    Oracle 11 G
    Oracle Instant Client 10 G
    Xampp

    BalasHapus
    Balasan
    1. Hi juga, maaf baru balas. Betul kalau melihat spesifkasi hardware seharusnya tidak ada masalah. MUNGKIN permasalahannya ada pada environment Windows 2008-nya. Mohon maaf saya selama ini menggunakan server linux dan windows hanya dipakai untuk ujicoba saja. Jadi belum pernah memakai untuk skala produksi.
      Semoga link dibawah dapat membantu:

      http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis

      https://forums.oracle.com/thread/1073469

      Hapus
  5. bener2 sesuai dengan kebutuhan saya. thx so much bro. walaupun udah 2 taunan postingan ini, manfaat nya masih ga ilang :)

    BalasHapus
  6. hai, test scriptnya tu ngetiknya dimana ya? trus simpennya format apa?

    BalasHapus
  7. Bro kalo pake 11g R2 Enterprise Edition bisa gak?

    BalasHapus
  8. mas mau tanya, saya sdh install Oracle Database Express Edition 11g Release 2 dan sdh ikuti step di atas, tapi pas run http://127.0.0.1:8080/apex ga sama, yang muncul oracle application express, dan minta input workspace jg, terus gimana mas? tolong dibantu. terima kasih

    BalasHapus
    Balasan
    1. Halo Mas Adam, setahu saya yang versi 11g sudah banyak berubah dari versi 10. Mungkin link dibawah ini dapat membantu:
      http://docs.oracle.com/cd/E17781_01/admin.112/e18585/toc.htm#XEGSG123

      Hapus
  9. mastah... ane pake instantclient_10_2 trus oci 8 nya juga ga bisa gan. Solusinya dong

    BalasHapus
  10. saya sudah cob seperti yang diatas tapi belum berhasil. mohon bantuannya

    BalasHapus
  11. kalo saya pakai 12c pas run http://127.0.0.1:8080/apex ga bisa??

    BalasHapus

Posting Komentar

Most Popular Posts