(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_DRIVER
El 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.
dsn
El 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_option
Establece 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
en caso de error.
Versión | Descripción |
---|---|
8.4.0 |
odbc expects an Odbc\Connection
instance now; previously, a resource was expected.
|
8.4.0 | This function returns a Odbc\Connection instance now; previously, a resource was returned. |
8.4.0 |
user and password are now nullable,
they are now also optional and default to null .
|
8.4.0 |
Previously, using an empty string for password would not include
pwd in the generated connection string for dsn .
It is now generated to include a pwd which has an empty string as its value.
To restore the previous behaviour password can now be set to null .
|
8.4.0 |
Previously, if dsn contained uid or pwd
both user and password parameters were ignored.
Now user is only ignored if dsn contains
uid , and password is only ignored if
dsn contains 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" , '', '');
?>