(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_connect — Conexión a una fuente
$dsn,$user = null,$password = null,$cursor_option = SQL_CUR_USE_DRIVEREl identificador de conexión devuelto por esta función es necesario para todas las demás funciones ODBC. Puede tener múltiples conexiones al mismo tiempo.
Con algunos controladores ODBC, la ejecución de procedimientos
almacenados complejos puede producir el siguiente error:
"Cannot open a cursor on a stored procedure that has anything
other than a single select statement in it", lo que significa:
"No se puede abrir un cursor en un procedimiento almacenado que tenga
algo distinto de una única sentencia SELECT". Utilizar la opción SQL_CUR_USE_ODBC permite
evitar este error. Además, algunos controladores no soportan el parámetro
opcional de número de línea en odbc_fetch_row().
SQL_CUR_USE_ODBC puede también permitir resolver estos problemas.
dsnEl nombre de la fuente de datos (DSN), para la conexión.
user
El nombre de usuario.
Este parámetro se ignora si dsn contiene uid.
Para una conexión sin especificar un user,
utilizar null.
password
La contraseña.
Este parámetro se ignora si dsn contiene pwd.
Para una conexión sin especificar un password,
utilizar null.
cursor_optionEstablece el tipo de cursor de resultado utilizado para esta conexión. Este parámetro no es generalmente necesario, pero puede ser útil para evitar ciertos problemas ODBC.
Las constantes siguientes están definidas como tipos de cursor:
Devuelve una conexión ODBC, o false si ocurre un error.
| Versión | Descripción |
|---|---|
| 8.4.0 |
odbc ahora espera una instancia de
Odbc\Connection; anteriormente, se esperaba un resource.
|
| 8.4.0 | Esta función ahora devuelve una instancia de Odbc\Connection; anteriormente, se devolvía un resource. |
| 8.4.0 |
user y password ahora pueden ser nulos,
también son opcionales y valen por omisión null.
|
| 8.4.0 |
Anteriormente, el uso de una cadena vacía para password
no incluía pwd en la cadena de conexión generada
para dsn.
Ahora, pwd se incluye en la cadena de conexión, con
un valor de cadena vacía.
Para restaurar el comportamiento anterior, password puede
ser definido como null.
|
| 8.4.0 |
Anteriormente, si dsn contenía uid o pwd,
entonces los parámetros user y password eran ignorados.
Ahora, user solo es ignorado si dsn contiene
uid, y password solo es ignorado si
dsn contiene pwd.
|
Ejemplo #1 Conexión sin DSN
<?php
// Microsoft SQL Server utiliza el controlador SQL Native Client 10.0 ODBC Driver:
// permite las conexiones a SQL 7, 2000, 2005 y 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);
// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>