
forums.oracle ve otn den edindiğim bilgiler doğrultusunda bu işlemin nasıl yapılabileceğini kısaca belirtmeye çalışacağım.
- Bir java class ı yazıp bunun içinden shell komutları çalıştırmak. Bu java source unu da bir PL/SQL ile sarmallayıp işlemi gerçekleştirmek. Aşağıda java tarafında bu işi gerçekleyen komut bulunmaktadır. Tam bir örnek için tıklayınız...
Process p = rt.exec( commandText );
- dbms_scheduler paketi ile. Bu sayede sh uzantılı bir dosya oluşturup yapacağınız işlemi bu jobu çalıştırarak yapabilirsiniz. Job ı create ederken job_type => 'executable' parametresini vermek gerekiyor.
- DBMS_PIPE paketi ile. Bu paket içine ilgili C fonksiyonunu yazıp çağırabilirsiniz. C içinden system() bıilt-in fonksiyonunu çağırarak işleminizi yapabilirsiniz. Daha sonra oracle içinden bir LIBRARY oluşturup bu library yi kullanabilirsiniz.
Ama şunu unutmamak gerekir ki, işletim sistemine ait komutların çağırılması güvenlik açısından sizde sıkıntı oluşturabilir. Çünkü işletim sisteminde komut çağırabilme hakkı, kimi art niyetli kişiler tarafından kullanılabilir.
No comments:
Post a Comment