Ow.. ok mas awal, saya mengerti skrg. terima kasih banyak ya.. klo menggunakan feature database seperti database proxy, ada yg punya pengalaman ga ? klo ada sharing pengalamannya, terima kasih. nyari2 di internet blm nemu2.
2008/8/11 Awaluddin Hamid <[EMAIL PROTECTED]> > Yang membaca adalah aplikasinya, jadi modifikasi dilakukan di logicnya > aplikasi. > User yg login (di field user login) biasanya disimpan oleh aplikasi. > Misalnya aplikasi pakek Form Developer, bisa disimpan sebagai parameter, > mis. Par_User. > Atau aplikasi pakek Java, bisa disimpan di method setField-nya, mis. > setUser(username). > Ketika dikirim statement DML ke database, maka informasi ini juga > dikirimkan. > Seperti contoh sebelumnya, jika dikirim perintah statement insert ke > table my_table, maka statementnya menjadi: > -- di Form > INSERT INTO my_table (col_id,col_name,user_app) > VALUES (:Block.Col_Id,:Block.Col_Name,:PARAMETER.Par_User); > -- di Java > INSERT INTO my_table (col_id,col_name,user_app) > VALUES (getColId(),getColName(),getUser()); > > > rgds, > AH > > Andes Febrian wrote: > > > > pak awal, > > > > menambahkan satu kolom di table (pemicu trigger) yg berisi informasi user > > aplikasi. >> misal saya mengaudit table Data Personalia dan table ini > > sudah > > jadi dan sudah ada isinya, maka saya harus menambahkan kolom untuk user > > aplikasi. > > > > tp pertanyaan saya adalah, bagaimana kah saya tau user aplikasi yg mana > yg > > merubah data pada table Data Personalia tersebut dan memasukkan nya ke > > dalam > > kolom user aplikasi ? > > > > saya masih kurang mengerti maksudnya, mohon pencerahannya. terima kasih. > > > > 2008/8/11 Awaluddin Hamid <[EMAIL PROTECTED] <awal%40alasindah.com> > > <mailto:awal%40alasindah.com <awal%2540alasindah.com>>> > > > > > > Harus dipisahkan dulu dengan jelas, mana user aplikasi dan mana user > > > database. > > > User aplikasi tentu saja tidak dikenali di database, jadi mis. ada > > > statement > > > CREATE TABLE audit_table ( > > > dml_oper VARCHAR2(8), > > > changed_by VARCHAR2(20) DEFAULT USER); > > > maka user yg dimaksud adalah user database. > > > > > > Karena koneksi aplikasi ke database menggunakan user A, maka siapapun > yg > > > koneksi via aplikasi akan dianggap sebagai user A. > > > Jika demikian, bagaimana cara merecord user aplikasi di trigger? > > > Salah satu cara (jika object database masih bisa dimodifikasi) adalah > > > dengan menambah satu kolom di table (pemicu trigger) yg berisi > informasi > > > user aplikasi. Kolom ini yg akan digunakan untuk mengisi kolom user di > > > table audit. > > > > > > Mis. ada sebuah table: > > > SQL>DESC my_table > > > Name Null? Type > > > ----------------------------------------- -------- ------------ > > > col_id NOT NULL NUMBER > > > col_name VARCHAR2(30) > > > user_app VARCHAR2(20) -- > > > tambahkan kolom ini > > > > > > Dengan trigger: > > > CREATE OR REPLACE TRIGGER audit_trig > > > AFTER UPDATE OR DELETE OR INSERT > > > ON my_table > > > REFERENCING NEW AS NEW OLD AS OLD > > > FOR EACH ROW > > > BEGIN > > > IF INSERTING THEN > > > INSERT INTO audit_table('INSERT',:NEW.user_app); > > > ... > > > .. > > > END IF; > > > END; > > > / > > > > > > rgds, > > > AH > > > > > > > > > Andes Febrian wrote: > > > > > > > > Dear gurus, > > > > > > > > saya punya application server 10Release 3 (OC4J server) mengkases > > > database > > > > A. Aplikasi OC4J ini bila mengkases database menggunakan satu > > > user(schema) > > > > yaitu user(schema) A. > > > > kemudian bila user mau mengakses aplikasi OC4J, user masukkan > username > > > dan > > > > password mereka di aplikasi tersebut. ada 100 user dgn IP yg > > berbeda2 dan > > > > login ke aplikasi dgn username masing2. seperti, sinta, santi, > > tuti dll. > > > > > > > > yg saya mau tanyakan, bila saya mengaudit table B pada database A dgn > > > > trigger, maka ketika aplikasi select data atau mengupdate atau delete > > > data > > > > di database, yg terlihat adalah user(schema) A(si aplikasi OC4J). tp > > > user2 > > > > yg login ke aplikasi dgn user masing2 tidak dibaca oleh database. > > > > > > > > bagaimana kah supaya database tetap membaca user sinta, santi, > > tuti dll > > > > bukan user(schema) A ? > > > > > > > > maaf bila kurang jelas maksud saya, saya kasih gambaran seperti ini : > > > > tuti ----------> > > > > sinta ----------> (connect dgn schema A) > > > > santi ----------> OC4J -----------> DATABASE A > > > > doni ----------> (database hanya membaca satu schema, yaitu > > > > schema A) > > > > joko ----------> > > > > (login dgn > > > > username > > > > masing2) > > > > > > > > mohon pencerahannya, terima kasih. > > > > > > > > -- > > > > Cheers, > > > > ^_^ Andes ^_^ > > > > > > > > [Non-text portions of this message have been removed] > > > > > > > > > > > > > > > > > > -- > > Cheers, > > ^_^ Andes ^_^ > > > > [Non-text portions of this message have been removed] > > > > > > -- Cheers, ^_^ Andes ^_^ [Non-text portions of this message have been removed]

