Tampilkan postingan dengan label Database. Tampilkan semua postingan
Tampilkan postingan dengan label Database. Tampilkan semua postingan

Jumat, 29 April 2011

Join Antar database Pada Firebird

Gateway for realtime  data:
Ada sedikit kesulitan pada Firebird untuk dapat mengakses data dari database yg berbeda. Nah berikut ada salah satu cara buat ngambil datanya (dapet nyontek pula ini :) ).
Tapi ya tetep tidak secepat join database di SQL Server(Pastinyalah..... hehehehehehehhehe)
Create procedure belows:


begin
    FOR EXECUTE STATEMENT
        'select nama, alamat from data_karyawan  
        ON EXTERNAL DATA SOURCE  '188.9.19.882:/path/database.fdb' AS USER 'username' PASSWORD 'password'
        INTO :nama_karyawan,alamat_karyawan
    do
        suspend;
end^


Jadi dehhhh

Kamis, 17 Februari 2011

SQL Server to Fireberd / Interbase Version 1

Migrasi dari MSSQL ke FB nihhhh..
ada beberapa catatan ni selama migrasi. cekedottt

dari segi script PHP
1. ubah mssql_ ke ibase_ (jangan lupa koneksinya diubah juga ya)
2. - pencarian data case sensitif
contoh : where em_emplname like 'Nende%'
tidak bisa where em_emplname like 'nend%'.
Maka untuk handelnya, setaip pencarian dikasih script berikut :
"where UPPER(em_emplname) like '". strttoupper($name)."%'";
3. Semua field object yang ditampilkan, jika memakai fungsi ibase_fetch_object , semuanya dirubah menjadi UPPER CASE
cat : field bisa tidak dirubah ke Upper Case jika saat create table di Firebird nama kolom dibuat didalam double quote.
contoh : create table TEST ("EmplName" varchar(50))
tetapi tetap object harus ditulis case sensitif sesuai nama kolom yang dibuat.
penulisan kolom di php, tidak berpengaruh.


Dari segi database
1. EXTRACT(MONTH FROM RB_DATE) buat pengganti script month(rb_date)
2. Top diganti First
3. Foreign Key on FB
for action delete or update
1.RESTRICT
2.NO ACTION
3.CASCADE
4.SET DEFAULT
5.SET NULL

Restrict = Data tidak bisa dirubah atau dihapus selama data tersebut masih ada relasi ke tabel lain

No Action = Hampir sama seperti Restrict perbedaanya hanya pada proses pengecekannya.
pada Restrict pengecekan dilakukan diawal sedangkan sebelum trasaksi dilakukan sedangkan No Action transaksi dicoba dijalankan dahulu, jika ternyata setelah dijalankan masih ada tabel2 terkait dengan data tersebut, maka tetap transaksi delete dan update tidak bisa dijalankan

Cascade : jika data diupate maka semua data yang relasi ke data tersebut akan dirubah. begitu pula jika data dihapus maka semua yang ref ke data tersebut akan dihapus

Set Default & SET NULL : semua data yang berhubungan akan di set ke fdefault atau null jika data headernya dirubah atau di delete.

- Pada SQL server jika data yang di insert panjang karakternya melebihi panjang karakter yang ditetapkan, proses insert / update masih bisa diproses dengan catatan data yang masuk akan dipotong sesuai karakter yg diperbolehkan.
- Pada Firebird proses akan error. jika data yang diinsert melebihi jumlah yg diperbolehkan

4. tipe data int kalo kosong musti diisi 0 atau NULL gak boleh ''

.. kerjaan belum selese.. ntar kalo nemuin hal2 lain lagi nyambung ceritanye yeeeee