Archive for February, 2010
Connection PHP Oracle using adodb
7[ad code=1 align=center]
Adodb adalah Database Abstraction Layer untuk php dan support berbagai macam database seperti MySQL, Oracle,DB2,SAP Db, Sql Serverdan lain-lain. Untuk informasi lebih lanjut anda bisa melihat link berikut adodb.
Berikut contoh penggunaan adodb untuk konek ke database oracle.
debug = true;
$oraConn->Connect($server, $user, $pwd, $db);
$query = "select * from employees";
$result = $oraConn->Execute($query);
//var_dump($resut);
while (!$result->EOF) {
print_r($result->fields);
$result->MoveNext();
}
?>
Contoh diatas adalah contoh yang sederhana, masih banyak kemampuan adodb yang bisa digunakan dan akan mempermudah development kita.
Perbedaan DELETE, TRUNCATE dan DROP
0Berikut penjelasan singkat mengenai perbedaan penggunaan perintah Delete, Truncate dan Drop pada suatu table di oracle.
Delete
Perintah delete digunakan untuk menghapus semua atau beberapa record pada tabel. Jika kondisi WHERE diberikan maka perintah delete akan menghapus data sesuai dengan kondisi yang diberikan. Jika tidka ada kondisi yang diberikan maka seluruh data pada tabel akan dihapus.
Setelah perintah Delete kita harus melanjutkan dengan COMMIT untuk menyimpan perubahan secara permanen atau ROLLBACK untuk membatalkan perintah. Jika pada tebel yang diberikan perintah delete maka semua Trigger Delete akan dijalankan.
Berikut contoh perintah delete pada tabel employees.
SQL> SELECT COUNT(*) FROM employees;
COUNT(*)
----------
38
SQL> DELETE FROM employees WHERE job_id = 'CLERK';
4 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> SELECT COUNT(*) FROM employees;
COUNT(*)
----------
34
NB: Perintah delete tidak ikut serta menghapus space yang telah digunakan oleh data sebelumnya, sehingga pada sat query ke tabel tersebut space untuk data yang telah dihapus juga akan ikut dibaca.
Truncate
Perintah Truncate digunakan untuk menghapus seluruh data pada tabel, perintah ini tidak dapat dibatalkan (tidak bisa di Rollback).
Truncate lebih cepat daripada delete dan tidak menggunakan terlalu banyak tablespace UNDO .
SQL> TRUNCATE TABLE employees;
Table truncated.
SQL> SELECT COUNT(*) FROM employees;
COUNT(*)
----------
0
Drop
Perintah Drop akan menghapus tabel dari database, semua data,index dan privilleges pada tabel yang dihapus. Trigger pada tabel yang di hapus tidak akan dijalankan.
SQL> DROP TABLE employees;
Table dropped.
SQL> SELECT * FROM employees;
SELECT * FROM emp
*
ERROR at line 1:
ORA-00942: table or view does not exist
DROP dan TRUNCATE adalah perintah DDL sehingga tidak bisa dibatalkan, sedangkan DELETE adalah perintah DML dan bisa dibatalkan.
mulai oracle 10, perintah DROP bisa di batalkan denganmenggunakan perintah FLASHBACK
SQL> FLASHBACK TABLE employees TO BEFORE DROP; Flashback complete.
Display Tree Structure using SQL
0Untuk membuat tree format dalam SQL kita bisa menggunakan keyword CONNECT BY PRIOR. Sebagai contoh kita ingin menampilkan data employee dalam format tree. Kita akan menggunakan schema HR, karena dalam dalam employee ada relasi ke diri sendiri yaitu manager_id.
SELECT lpad(' ', level*2) || first_name || ' '||last_name
FROM employees
CONNECT BY PRIOR employee_id = manager_id
START WITH manager_id IS NULL;
Perlu diingat dalam penggunaan CONNECT BY PRIOR kita tidak bisa menggunakan JOIN. Untuk kasus tertentu kita bisa menggunakan trik SUB QUERY.
Working with CVS
1Untuk memulai menggunakan CVS berikut detail langkah-langkah yang harus di buat.
Installing CVS
CVS kependekan dari Concurent Version System , merupakan tool opensource yang sangat berguna bagi developer yang bekerja secara team dan tersebar.
Untuk installasi CVS tidak lah sulit pertama anda tinggal mendownload software nya dari link berikut
http://www.cvshome.org
atau jika anda ingin install di windows anda bisa download dari
http://march-hare.com/cvspro/
Setelah mendapatkan sourcenya anda tinggal melakukan installasi CVS. Tapi biasanya jika anda menggunakan sistem operasi Linux CVS sudah secara default terinstall.Untuk panduan lengkap installasi anda bisa klik berikut Installing CVS
Creating CVS Repository
Sekarang setelah CVS terinstall langkah selanjutnya adalah membuat repository.Pertama kita harus tentukan direktori mana tempat repository kita, ini bisa dimanapun di disk kita, sebagai contoh saya buat repository di /app/neuronworks/cvsroot
#mkdir -p /app/neuronworks/cvsroot
#chgrp dev /app/neuronworks/cvsroot
#cvs -d /app/neuronworks/cvsroot init
# ls -la /app/neuronworks/cvsroot
total 6
drwxrwsr-x 3 root dev 512 Feb 06 19:22 .
drwxr-xr-x 3 root other 512 Feb 06 19:18 ..
drwxrwsr-x 3 root dev 1024 Feb 06 19:22 CVSROOT
CVS Repository sudah terbentuk.
Logging Into CVS
Untuk masuk kedalam CVS kita bisa menggunakan versi lokal atau remote.
untuk akses CVS lokal kita perlu seting environment varibale CVSROOT ke direktori repository kita
$CVSROOT=/app/neuronworks/cvsroot $export CVSROOT
atau jika ingin permanen anda bisa melakukan setting di .profile untuk masing-masing user.
Cara yang kedua adalah akses remote kita bisa menggunakan pserver.
$ CVSROOT=:pserver:192.168.1.9@massri:/app/neuronworks/cvsroot $ export CVSROOT $ cvs login Logging in to :pserver:192.168.1.9@massri:2401/app/neuronworks/cvsroot CVS password:*******
untuk logout
$ cvs logout
Import Project into CVS
Selanjutnya kita akan coba import project kita kedalam repository. Misal saya akan membuat project java menggunakan Netbeans berikut detailnya
Pertama saya akan buat project menggunakan Netbeans dengan nama TestingCVS, project ini hanya sample saja dengan file yan gmasih kosong tanpa logik programming.

Klik kanan pada nama project -> CVS->Import sehingga akan muncul tampilan berikut

Hasil log import di netbeans

Hasil import jikadilihat dari server
Getting Project from CVS
Untuk menguji checkout saya akan menghapus project yang baru saja dibuat kemudian kita akan ambil project yang sudah terhapus dari repository
pastikan directori TestingCVS di lokal komputer juga terhapus. Setelah itu dari netbeans pilih menu Team->Chekout sehingga muncul tampilan berikut


Selesai kita berhasil melakukan Checkout dari repository.
Selamat Mencoba !


