©
This document uses PHP Chinese website manual Release
(PECL PDO_OCI >= 0.1.0)
PDO_OCI DSN — Connecting to Oracle databases
The PDO_OCI Data Source Name (DSN) is composed of the following elements:
The DSN prefix is oci:
.
The URI for the Oracle Instant Client connection takes the form of
dbname=// hostname : port-number / database
.
If you are connecting to a database defined in
tnsnames.ora, use only the name of the database:
dbname= database
.
The client-side character set for the current environment handle.
Example #1 PDO_OCI DSN examples
The following examples show a PDO_OCI DSN for connecting to Oracle databases:
// Connect to a database defined in tnsnames.ora oci:dbname=mydb// Connect using the Oracle Instant Client oci:dbname=//localhost:1521/mydb
[#1] Alexander Ashurkoff [2007-02-26 02:20:41]
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.
[#2] Helpful User [2006-10-11 17:59:59]
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.