(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_connect — Verbindet mit einer Datenquelle
$dsn,$user = null,$password = null,$cursor_option = SQL_CUR_USE_DRIVERDie Verbindungskennung, die von dieser Funktion zurückgegeben wird, wird von anderen ODBC-Funktionen benötigt. Es können mehrere Verbindungen nebeneinander bestehen, solange sie entweder unterschiedliche Datenbanken oder unterschiedliche Anmeldeinformation verwenden.
Bei einigen ODBC-Treibern können möglicherweise Probleme bei der Ausführung von komplexen Prozeduren auftreten. Die Fehlermeldung lautet dann etwa "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Die Verwendung von SQL_CUR_USE_ODBC kann diesen Fehler verhindern. Weiterhin unterstützen einige ODBC-Treiber den optionalen Parameter row_number der Funktion odbc_fetch_row() nicht. Auch in diesem Fall kann SQL_CUR_USE_ODBC helfen.
dsnDer Datenquellenname für die Verbindung. Alternativ kann auch eine DSN-lose Verbindungszeichenkette verwendet werden.
user
Der Benutzername.
Dieser Parameter wird ignoriert, wenn dsn
uid enthält.
Um eine Verbindung herzustellen, ohne den Parameter
user anzugeben, muss null verwendet werden.
password
Das Passwort.
Dieser Parameter wird ignoriert, wenn dsn
pwd enthält.
Um eine Verbindung herzustellen, ohne den Parameter
password anzugeben, muss null verwendet werden.
cursor_optionDies setzt die Art des Cursors, der für diese Verbindung genutzt werden soll. Normalerweise wird er nicht benötigt, kann aber bei manchen ODBC-Treiberproblemen nützlich sein.
Folgende Konstanten sind als Cursortyp definiert:
Gibt eine ODBC-Verbindung zurück. Bei einem Fehler wird false zurückgegeben..
| Version | Beschreibung |
|---|---|
| 8.4.0 |
odbc erwartet nun eine Instanz von
Odbc\Connection; vorher wurde eine
Ressource erwartet.
|
| 8.4.0 | Diese Funktion gibt nun eine Instanz von Odbc\Connection zurück; vorher wurde eine Ressource zurückgegeben. |
| 8.4.0 |
user und password sind nun
nullable (akzeptieren den null-Wert); sie sind nun auch optional und
standardmäßig auf null gesetzt.
|
| 8.4.0 |
Bisher wurde bei der Verwendung einer leeren Zeichenkette für password
pwd nicht in die generierte Verbindungszeichenkette für dsn aufgenommen.
Jetzt wird ein pwd mit einer leeren Zeichenkette als Wert erzeugt.
Um das vorherige Verhalten wiederherzustellen, kann password nun auf null gesetzt werden.
|
| 8.4.0 |
Wenn dsn uid oder pwd enthielt,
wurden bisher die Parameter user und password ignoriert.
Jetzt wird user nur ignoriert, wenn dsn
uid enthält, und password wird nur
ignoriert, wenn dsn pwd enthält.
|
Beispiel #1 DSN-lose Verbindung
<?php
// Microsoft SQL Server unter Verwendung des SQL Native Client 10.0 ODBC-Treibers - ermöglicht Verbindungen zu SQL 7, 2000, 2005 und 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" , '', '');
?>