Merhaba Arkadaşlar,



İlk Önce Oracle ve Oraclea Erişimden Söz Edeyim.


Oracle Tartışmasız En iyi Veritabanı yazılımı.Rakiplerinin ilerleyişini iyi takip edip fiyatı artmadan satın alan bir yazılım akıllı adamlar gerek fonksiyonları gerekse hızı olarak anlatılamicak kadar çok işlevi var. en basitinden karmaşık sorglarda mysqldeki EXPLAIN işleminde gördüğünüz up uzun yolu o daha pratik işlyebilio mesela. vs vs..


Oracle'a herhangi bişey ile bağlanmak istediğimizde mutlaka aracı olan bir Client programı lazım..


Aşağıdaki Adresten Size Uygun Olanını ufak bir uyelikle temin edebilirsiniz.
https://www.oracle.com/technology/sof...sql/index.html




clientimiz de varsa.


php.ini dosyamızdan




;extension=oci8.dll
;extension=oci.dll




satırlarının başındaki " ; " kaldırıp. phpyi çalıştıran servisimizi yeniden başlatıyoruz..


Artıkk php ile oraclea bağlanabiliriz..


şimdi gelelim ufak oracle işlemlerine.. php ile herhangi bir veritabanı bağlantısı yapmışsanız bunda hiç zorlanmicaksınz.


veritabanı kullanıcı adı sunucu adresi ve şifresi gibii işlemlerde diğer sqllerden farkı Veritabanıın aynı zamanda sunucuda bir kullanıcı gibi görünmesi ki kullanıcı oluyo sanırım


PHP- Kodu:

<?php


define('DB_KULLANICI','kullanici_sifresi');


define('DB_SIFRE','kullanici_sifresi');


define('OCIHOST','(DESCRIPTION=(ADDRESS=(PROTOCOL= TCP)(HOST=192.168.1.1)(PORT=1521))(CONNECT_DATA=(S ID=orcl)))');


?>


böyle bir ayar dosyamız olsun. şimdi bunu açıklayalım..


kullanıcı adı ve şifre dışında alışılmadık bir düzende veritabanı tanımlanmış.


veritabanının açıklmasında Sunucu adresi Portu .. SID de bahsettiğim sunucudaki eşsiz kullanıcı ve Veritabanı adı oluyor sanırım.


işin doğrusu SID - SERVICE_NAME - TNS gibi terimlerini kullansam da tam olarak mantığını anlamış değilim..


neyse..


PHP- Kodu:





<?php


define('DB_KULLANICI','kullanici_sifresi');


define('DB_SIFRE','kullanici_sifresi');


define('OCIHOST','//127.0.0.1:1521/orcl');


?>


gibi de tanımlanabilir Veritabanı


bir kaç fonksiyon grubu ve sınıf mevcut phpde oraclea bağlanmak için.


oci_ fonksiyonlarını kullanarak anlatıcam..


oci_connect(); -> Bağlantı oluşturan fonksiyondur default session time outu ben bulamadım ama mysql bağlantısında bikaç dakikalık zamanı php belirlemişse bu da aynıdır sanıyoru.. oc_pconnect(); daha kısa süreli bir session oluşturarak bağlanan fonksiyondur.


bağlantıya bir isim veriyoruz ornek


<?
$baglanti=oci_connect(KULLANICI_ADI,SIFRE,OCIHOST) ;
?>


yazdığımız sql i direk sorgu olarak gonderemiyoruz oraclea. önce oci_parse(); Fonksiyonundan Geçirip onu Oraclea Gonderilmeye Musait hale getiriorz.. Tehlikeli Sorgular daha işin başında patlak verio yani.


parse işleminden sonra çıktı olarka aldığımız değer $sql olsun..


Oci_Execute($sql); Fonksiyonundan Geçiriyoruz. query işlemi elimizde oluyor.


eğer buna bir isim vermemişsek yine $sql olarak elimizde oluyor artık bu bir Datasource.
tipi de Oracle result.. mysql_query(); den dönen sonuç gibi satırlı sütunlu bir depo..


ve artık ayrıştırma işlemne geldik o da klasik OCI_Fetch_Assoc (=


şimdi tek dosyada toplayalım




PHP- Kodu:





<?php


define('DB_KULLANICI','kullanici_sifresi');


define('DB_SIFRE','kullanici_sifresi');


define('OCIHOST','//127.0.0.1:1521/orcl');





$baglanti=oci_connect(DB_KULLANICI,DB_SIFRE,OCIHOS T);





$sql=oci_parse("SELECT Adi||' '||Soyadi AS Ad_Soyad FROM uyeler WHERE Nick='DeLLy'");





$data_source=oci_execute($sql);





$sonuc=oci_fetch_assoc($data_source);





echo $sonuc[Ad_Soyad];








// Sonuç Olarak


#


#


# Tufan Barış YILDIRIM Gibi Bir Çıktı Alırız (:


#








?>


Kolay Gelsin (: Hızlı Queryler (: