(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_connect — Connexion à une source
$dsn
,$user
,$password
,$cursor_option
= SQL_CUR_USE_DRIVER
L'identifiant de connexion retourné par cette fonction est nécessaire pour toutes les autres fonctions ODBC. Vous pouvez avoir de multiples connexions en même temps.
Avec certains pilotes ODBC, l'exécution de procédures
enregistrées complexes peut produire l'erreur suivante :
"Cannot open a cursor on a stored procedure that has anything
other than a single select statement in it"
, ce qui signifie :
"Impossible de créer un pointeur de résultat dans une procédure
enregistrée qui est réduite à une simple sélection
(SELECT)". Utiliser l'option SQL_CUR_USE_ODBC permet d'éviter
cette erreur. De plus, certains pilotes ne supportent pas le paramètre
optionnel de numéro de ligne dans odbc_fetch_row().
SQL_CUR_USE_ODBC peut aussi permettre de résoudre ces problèmes.
dsn
Le nom source de la base de données (DSN), pour la connexion.
user
Le nom d'utilisateur.
password
Le mot de passe.
cursor_option
Fixe le type de pointeur de résultat utilisé pour cette connexion. Ce paramètre n'est généralement pas nécessaire, mais il peut être utile pour contourner certains problèmes ODBC.
Les constantes suivantes sont définies comme types de pointeur :
Retourne une connexion ODBC, ou false
si une erreur survient.
Exemple #1 Connexion sans DSN
<?php
// Microsoft SQL Server utilise le pilote SQL Native Client 10.0 ODBC Driver :
// il permet les connexions à SQL 7, 2000, 2005 et 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" , '', '');
?>