ODBC ve DB2 (PDO_ODBC) İşlevleri

Giriş

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

IBM DB2 Evrensel Veritabanına, Cloudscape ve Apache Derby sunucularına özgür DB2 istemcisi üzerinden erişimi destekler.

unixODBC

Veritabanı sunucularına unixODBC sürücüsü yöneticisi ve veritabanının kendi ODBC sürücüleri üzerinden erişimi destekler.

soysal

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.

Kurulum

UNIX sistemlerinde PDO_ODBC
  1. 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ı:

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    
    PDO_ODBC eklentisini ibm-db2 desteğiyle derlemek için DB2 uygulama geliştirme başlık dosyalarını, PDO_ODBC'yi derlediğiniz makineye kurmuş olmalısınız. DB2 uygulama geliştirme başlık dosyaları DB2 sunucularında kurulabilir bir seçenek olup ayrıca, DB2 Uygulama geliştirme istemcisinin bir parçası olarak » IBM DB2 evrensel veritabanı destek sitesinden özgürce indirilebilmektedir.

    configure komutuna DB2 kütüphaneleri ve başlıkları için bir konum belirtmezseniz /home/db2inst1/sqllib dizini öntanımlıdır.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    
    configure komutuna unixODBC kütüphaneleri ve başlıkları için bir konum belirtmezseniz /usr/local dizini öntanımlıdır.

    soysal
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
    

Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PDO_ODBC Yapılandırma Yönergeleri
İ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.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları için Yapılandırma ayarlarının yeri bölümüne bakınız.

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.

Uyarı

relaxed eşleştirmesi güvenlik sebebiyle bir paylaşımlı sunucuda kullanılmamalıdır.

İpucu

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.

İçindekiler