PHP 8.1.28 Released!

DSN de PDO_OCI

(No version information available, might only be in Git)

DSN de PDO_OCIConectar a bases de datos de Oracle

Descripción

El Nombre de Orígenes de Datos (DSN, por sus siglas en inglés) de PDO_OCI está compuesto por los siguientes elementos:

Prefijo DSN

El prefijo DSN es oci:.

dbname (Oracle Instant Client)

La URI para la conexión a Oracle Instant Client toma la forma de nombre_bd=//nombre_host:número_puerto/basedatos. Si la conexión se realiza a una base de datos definida en tnsnames.ora, solamente se ha de usar el nombre de la base de datos: nombre_bd=basedatos.

charset

El conjunto de caracters del lado del cliente para el gestor de entorno en uso.

Ejemplos

Ejemplo #1 Ejemplos del DSN de PDO_OCI

Los siguientes ejemplos muestran una DSN de PDO_OCI para conectarse a bases de datos de Oracle:

// Conectar a un base de datos definida en tnsnames.ora
oci:dbname=mydb

// Conectarse usando Oracle Instant Client
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