CakeFest 2024: The Official CakePHP Conference

PDO_OCI DSN

(PECL PDO_OCI >= 0.1.0)

PDO_OCI DSNOracle veritabanlarına bağlantı

Açıklama

PDO_OCI Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki

DSN öneki oci: dizgesidir.

dbname (Oracle Instant Client)

Oracle Instant Client bağlantı adresi şu sözdizimini kullanır: dbname=//konakadı:portnum /veritabanı. tnsnames.ora içinde tanımlı bir veritabanına bağlanırken sadece veritabanının ismini kullanabilirsiniz: dbname=veritabanı.

charset

Geçerli ortam için istemci tarafı karakter kümesi.

Örnekler

Örnek 1 - PDO_OCI DSN örnekleri

Aşağıdaki örneklerde, Oracle veritabanlarına bağlanmak için PDO_OCI DSN'si kullanımları gösterilmiştir.

// tnsnames.ora içinde tanımlı bir veritabanına bağlanalım
oci:dbname=mydb

// Oracle Instant Client kullanarak bağlanalım
oci:dbname=//localhost:1521/mydb

add a note

User Contributed Notes 2 notes

up
-9
Helpful User
17 years ago
If you get the error: TNS: could not resolve service name

Remember that the PDO wants to use the default client, which will only use the tnsnames.ora in %ORACLE_HOME%\network\admin. Check that file and make sure your service is defined in there.

BTW, there is a bug with pdo_oci8 with 9i - don't use it. Make sure you just use pdo_oci.dll.
up
-24
Alexander Ashurkoff
17 years ago
If you want to use PDO_OCI and get proper russian windows-1251 codepage, just add charset=CL8MSWIN1251 to your DSN.

example:
<?php
$dbc
= new PDO('oci:dbname=192.168.10.145/orcl;charset=CL8MSWIN1251', 'username', 'password');
?>

Аlso setting apache/registry/system environment variable NLS_LANG to RUSSIAN_CIS.CL8MSWIN1251 may helps you.
To Top