Şimdi Ara

Php ile oracle bağlantısı nasıl olur?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
913
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba ben PHP ile Oracle'a bağlanmak istiyorum ve ayrıca Oracle daki fonksiyonları veya prosedürleri PHP aracılığı ile çalıştırmak istiyorum. Yani şöyle izah ediyim PHP ile yapıcaklarımı Oracle PL/SQL ile yaptım sadece PHP ile bu yazdığım fonksiyonları (parametrelerini girip) çağırmak istiyorum.

    Bunun için ne yapmam gerek? Şimdiden çok teşekkür ederim.



  • Php ile Oracle'a bağlanmak için ;

    mysql_connect fonksiyonunu çağırdığın gibi oci_connect fonksiyonunu çağırman yeterli.
    PL/SQL fonksiyonunun çağırman için de oci_parse fonksiyonuna gerekli parametreleri girerek çağırabilirsin.

    Örnek ;

    2 tane değişken alan bir plsql kodun olduğunu düşün
    bunu php den çağırmak için yapaman gereken

     
    $plsql = oci_parse($oracleBaglantin,"BEGIN :donusDegeri := PLSQLFONKSIYONUN(:parametre1,:parametre2);END;");
    //Parametreleri bind ediyorsun burda
    oci_bind_by_name($plsql,":donusDegeri",$donusDegeri);
    oci_bind_by_name($plsql,":parametre1",$parametre1);
    oci_bind_by_name($plsql,":parametre2",$parametre2);

    //ve çalıştır
    oci_execute($plsql);
    //hata almadıysan bind ettiğin değişkenlere plsqlden gelen veriler bind edilmiş olacak ve kullanmaya başlayabilirsin.

    echo $donusDegeri;




    < Bu mesaj bu kişi tarafından değiştirildi bLooP -- 1 Mayıs 2012; 19:55:32 >




  • quote:

    Orijinalden alıntı: bLooP

    Php ile Oracle'a bağlanmak için ;

    mysql_connect fonksiyonunu çağırdığın gibi oci_connect fonksiyonunu çağırman yeterli.
    PL/SQL fonksiyonunun çağırman için de oci_parse fonksiyonuna gerekli parametreleri girerek çağırabilirsin.

    Örnek ;

    2 tane değişken alan bir plsql kodun olduğunu düşün
    bunu php den çağırmak için yapaman gereken

     
    $plsql = oci_parse($oracleBaglantin,"BEGIN :donusDegeri := PLSQLFONKSIYONUN(:parametre1,:parametre2);END;");
    //Parametreleri bind ediyorsun burda
    oci_bind_by_name($plsql,":donusDegeri",$donusDegeri);
    oci_bind_by_name($plsql,":parametre1",$parametre1);
    oci_bind_by_name($plsql,":parametre2",$parametre2);

    //ve çalıştır
    oci_execute($plsql);
    //hata almadıysan bind ettiğin değişkenlere plsqlden gelen veriler bind edilmiş olacak ve kullanmaya başlayabilirsin.

    echo $donusDegeri;




    Hocam öncelikle çok teşekkür ederim yardımların için. Bir şey sormak istiyorum. Ben oracle'da herhangi bir bind variable tanımlamak zorunda değilim dimi bunun için? Yani bu bind olayını php ile oracle'ın etkileşimden doğan bir zorunluluk sanıyorum. Yani illaki bu iki sistem arasındaki veriler bind olucak, bunuda oracle kendisi yapıyor. Doğru mudur?

    Teşekkürler.




  • Aynen. Yukarıda yaptığın bindın plsql fonksiyonu ile hiçbir alaksı yok.
    Orda oracleın anlayacağı bir statement tanımlıyorsun ama statement içerisindeki değişkenlere herhangi bir değişken bağlamadın. Bunun için aşağı tarafda o statement içersindeki verilere PHP tarafındaki değişkenlerin değerini aktarabilmek için bind ediyorsun.
  • quote:

    Orijinalden alıntı: bLooP

    Aynen. Yukarıda yaptığın bindın plsql fonksiyonu ile hiçbir alaksı yok.
    Orda oracleın anlayacağı bir statement tanımlıyorsun ama statement içerisindeki değişkenlere herhangi bir değişken bağlamadın. Bunun için aşağı tarafda o statement içersindeki verilere PHP tarafındaki değişkenlerin değerini aktarabilmek için bind ediyorsun.

    Çok teşekkürler hocam.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.