PDO_ODBC, PHP Veri Nesneleri Arayüzünün (PDO) veritabanlarına ODBC sürücüleri üzerinden veya IBM DB2 Çağrı Seviyesi Arayüzü (DB2 CLI) kütüphanesi üzerinden erişimi mümkün kılmak için gerçeklenmiş bir sürücüdür. PDO_ODBC şimdilik üç farklı lezzette veritabanı sürücüsünü desteklemektedir:
IBM DB2 Evrensel Veritabanına, Cloudscape ve Apache Derby sunucularına özgür DB2 istemcisi üzerinden erişimi destekler.
Veritabanı sunucularına unixODBC sürücüsü yöneticisi ve veritabanının kendi ODBC sürücüleri üzerinden erişimi destekler.
PDO_ODBC tarafından açıkça desteklenmemiş ODBC sürücüsü yöneticileri için bir derleme seçeneği sağlar.
Windows'ta, PDO_ODBC eklentisi PHP içinde yerleşiktir. Windows ODBC Sürücüsü Yöneticisi ile ilintili olduğundan PHP, Sistem DSN üzerinden kataloglanan veritabanlarına erişebilir ve bu Microsoft SQL Server veritabanlarına bağlanmak için önerilen sürücüdür.
PHP 5.1'den itibaren, PDO_ODBC, PHP kaynak paketiyle gelmektedir. PDO_ODBC eklentisini duruk veya paylaşımlı bir modül olarak derlemek için kullanacağınız configure komutları:
./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
configure komutuna DB2 kütüphaneleri ve başlıkları için bir konum belirtmezseniz /home/db2inst1/sqllib dizini öntanımlıdır.
./configure --with-pdo-odbc=unixODBC,/usr/local
./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | PHP 5.1.0'dan beri kullanılabilmektedir. |
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | PHP 5.1.1'den beri kullanılabilmektedir. PHP 6.0.0'da kaldırılmıştır. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
pdo_odbc.connection_pooling
string
ODBC bağlantılarının havuzlanıp havuzlanmayacağı. Şu değerlerden biri
belirtilebilir: "strict" (katı),
"relaxed" (esnek), "off" (kapalı;
"" ile aynı). Değer, bağlantı yöneticisinin bağlantı
değiştirgelerini mevcut havuzlu bağlantılarla nasıl eşleştireceğini
belirler. strict
önerilen öntanımlı değer olup,
önbellekli bağlantıların sadece tüm bağlantı değiştirgeleri eşleştiğinde
kullanılacağı anlamına gelir. relaxed
ise benzer
bağlantı değiştirgelerine sahip bağlantıların kullanılabileceğini
belirtir. Bunun olumsuz tarafı, örneğin sanal konaklar arasında bağlantı
bilgisi kaçağı riski nedeniyle önbellek kullanımında bir artışla
sonuçlanabilmesidir.
Bu ayar sadece php.ini dosyasında değiştirilebilir ve tüm süreci etkiler; ayrıca, aynı ODBC kütüphanelerini kullanan süreçlere yüklü diğer modüller de (Tektip ODBC eklentisi dahil) etkilenir.
relaxed
eşleştirmesi güvenlik sebebiyle bir
paylaşımlı sunucuda kullanılmamalıdır.
Bu ayarı değiştirmek için iyi bir sebebiniz yoksa öntanımlı
strict
ayarına dokunmamanız önerilir.
pdo_odbc.db2_instance_name
string
PDO_ODBC eklentisini db2 desteğiyle kullanıyorsanız, Linux ve UNIX işletim sistemlerinde DB2INSTANCE ortam değişkenine DB2 örneğinin burada belirtilen ismini atar. Böylece, PDO_ODBC eklentisinin DB2 veritabanlarına kataloglu bağlantılar kurması ve DB2 kütüphanelerinin yerlerini bulması sağlanmış olur.
Bu ayar sadece php.ini dosyasında değiştirilebilir ve tüm süreci etkiler; ayrıca, aynı ODBC kütüphanelerini kullanan süreçlere yüklü diğer modüller de (Tektip ODBC eklentisi dahil) etkilenir.
Bu ayarın Windows üzerinde bir etkisi yoktur.