LaGiPusHinGWitH ---- IT
Navigation
Home |
Categories
Monthly Archives
- September 2010
- October 2009
- December 2008
- November 2008
- October 2008
- September 2008
- July 2008
- May 2008
- March 2008
- December 2007
- October 2007
- September 2007
- August 2007
Most recent entries
- Create Oracle Tablespace on SAP with BRTools
- Audit on Oracle Database
- Membuat Oracle Data Guard
- Cerita Tentang Kamu
- Membuat ulang/re-create controlfile di oracle
- Membuat RMAN dengan crontab
- Saat kau hadir kembali
- Memindahkan controlfile dan redologfile pada Oracle
- Oracle Dataguard on Standart Edition
- Adakah aku dihatimu
- Instalasi 10g di HP-UX Itanium
- Instalasi OpenOffice di Slackware 12
- Syncronize archive log
- Merubah ukuran archived Log
- Alter Block Size for tablespace
Syndicate
Site Credits
Powered by:
ExpressionEngine
Design by:
BlogMoxie
Langsung aja, gw mo share pengalaman waktu melakukan konfigurasi buat koneksi PHP dengan Oracle dikantor gw…
Pertama gw ceritain arsitektur dari aplikasi yang akan gw bikin :
1. SQL Server berada pada database server dengan IP 172.17.50.XX
2. Web Server dengan Apache dan PHP dengan IP 172.17.50.XX
3. Oracle berada pada database server dengan IP 192.168.0.XXX dan 192.168.0.XX
4. Semuanya dihubungkan dengan gateway (sori IP nya ngga bisa disebutkan).
So...kesimpulannya semua database tidak berada pada satu mesin (tanya kenapa??? mana gw tahu bukan gw yang bikin sih...tapi kayanya berhubungan dengan security deh).
Terus...kita lanjut lagi ke curhatan gw, sampe mana yah? oh yah sampe MY GOD, THAT’s so Hard ;o Man!!!, Why??? jarang banget tutorial tentang PHP dengan Oracle ditambah PHP manual juga belum banyak membantu (soalnya gw nya buta banget).
Ok...gw tambahin deh spek dari Oracle Servernya sendiri menggunakan Oracle 9i dan 8i dan dikomputer web server terinstall Oracle Client 7.3.3, fungsi dari Oracle Client adalah sebagai penghubung ke Oracle server...nah disinilah letak TrouBLE utamanya, pertama gw coba ikutin dari PHP manualnya gimana cara mengaktifkan modul Oracle supaya didukung oleh PHP:
--// Buka “;"pada (php.ini)
;extension=php_oci8.dll
;extension=php_oracle.dll
penjelasannya sih gampang man...tapi ternyata ngga semudah itu!! Sampai puyeng pale gw tetep ngga berfungsi tuh modul, dengan peringatan tidak ditemukan oci.dll pada OS kita (padahal ada), iseng gw googling deh nyari file oci.dll n nemu juga akhirnya disertai dengan manualnya:
This dll-file was downloaded
from http://www.dll-files.com
Install notes:
º Use ExpressZIP to extract the file to
º your windows\system directory
n walah berhasil juga ... pas gw copy oci.dll di System32 dan System, PHP mengenali modul oci8 dan oracle Wink ... selesaikah masalah?? not yet man, cos setelah gw coba masukin script penghubung kaya gini nih "
<?php
$c1 = OCILogon("$username","$password","$dbname" );
if ($c1 == false){
echo OCIError($connection)."not connected";
exit;
}
else
{
echo "success connecting to my oracle databases";
}
?>
pesen yang gw dapetin selalu Warning: _oci_open_server: ORA-12154: TNS:could not resolve service name.
Gw googling lagi deh arti dari pesen error itu… ternyata harus ada file tnsnames.ora pada folder oracle yang mengandung konfigurasi yang mengarahkan pada letak dan nama service dari server Oraclenya:
--// catt: semua konfigurasi dah gw edit
JOUNIN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = hostname-or-ipaddress)(Port = 1521))
(CONNECT_DATA =
(SID = sidname)
)
)
hmmm...filenya dah ada dengan konfigurasi bener tuh!!! :\ , trus masalahnya dimana yah??? gw baca lagi deh manual PHP-nya, akhirnya walah...gw ngga liat satu buah statement like this “These functions allow you to access Oracle8 and Oracle7 databases. It uses the Oracle8 Call-Interface (OCI8). You will need the Oracle8 client libraries to use this extension.”
My..GOD that it’s, Oracle8 client libraries to use this extension sedangkan gw pake Oracle7.3.3 client yang memiliki perbedaan konfigurasi dengan Oracle8i dan 9i dimana tidak mengenali parameter SID dan sudah menggantinya dengan parameter SERVICE_NAME ;o , ya udah akhirnya gw ganti clientnya dengan Oracle9i client dan mengkonfigurasi ulang file tnsnames.ora nya jadi seperti ini:
JOUNIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname-or-ipaddress)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = servicename)
)
)
Selesaikah....??? huuuuuuaaaaaaaaa Surprised nangis deh gw, blom bisa juga man!!! hampir asa gw putus nih, mana under presure pula nih :\ , utak-atik lagi deh gw ... ngubek2 php manual sampe masuk forum2 luar n masuk milis… n hasilnya adalah gw nemuin jawabannya, karena Oracle servernya berada pada lain jaringan maka kita harus mendekripsikan terlebih dahulu SERVICE_NAME nya pada script PHP kita, bingung yah??? ya udah gw kasih contoh langsung aja yah....kita edit aja file koneksi.php
<?php
$db = " (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.XXX)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = servicename))
)";
$c1 = OCILogon("username","password",$db);
if ($c1 == false){
echo OCIError($connection)."not connected";
exit;
}
else
{
echo ";success connecting to my oracle databases";
}
?>
Taaaadaaaaaa.....berhasil man, now it will work.
Ok ... sekian dulu kisah perjuangan gw, buat para master sori kl kesannya gw bego banget..tapi emang gw bego sih kl soal ini
, trus kesannya gw sebentar yah ngopreknya..padahal gw ngabisin waktu seminggu lebih cuma buat meng-koneksikan PHP dengan Oracle Server :\ . Trus pesen gw, teruslah bereksperimen...kl nemu masalah cari tahu sendiri dulu deh (googling, forum, milis etc)kl dah mentok banget baru minta bantuan langsung.
Terakhir… buat para programmer PHP, jangan terpaku dengan MySQL!!! cos enterprise banyak menggunakan Oracle dan SQL Server.
OK...Goodluck for Us, see you next time!!!Smile
Computer DataBase • (1) Comments • (65) Trackbacks • Permalink
bang tambahin tag donk...biar enak baca-bacanyua…
okay
Regards
Dian