Einführung - DSN -- Der
Data Source NameBeschreibung
Um sich mit einer Datenbank über PEAR::DB zu verbinden, wird
ein korrekter DSN (Data Source Name) benötigt.
Ein DSN besteht aus folgenden Teilen:
phptype:
der zu benutzende Datenbanktreiber (z.B. mysql
, odbc etc.).
|
dbsyntax:
die zu benutzende Datenbank hinsichtlich des SQL-Syntaxes. Wird ODBC
in phptype eingesetzt, dann muss hier das DBMS angegeben werden, mit
der sich der ODBC-Treiber verbinden soll. Beispiele: access,
db2, mssql,
navision, solid, etc.
|
protocol:
zu verwendendes Kommunikationsprotokoll ( z.B. tcp,
unix etc.).
|
hostspec:
die Host-Angabe (hostname[:port])
|
database:
die Datenbank im DBMS mit der sich verbunden werden soll.
|
username:
der Benutzername für den Login
|
password:
das Passwort für den Login
|
proto_opts:
zusätzliche Optionen abhängig vom protocol-Eintrag
|
option:
zusätzliche, optionale Verbindungsoptionen im URI-Format. Die
Optionen müssen durch & getrennt werden.
|
Das vollständige Format des DSN:
phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value |
Eine Vielzahl von Variationen sind erlaubt:
phptype://username:password@protocol+hostspec:110//usr/db_file.db
phptype://username:password@hostspec/database
phptype://username:password@hostspec
phptype://username@hostspec
phptype://hostspec/database
phptype://hostspec
phptype:///database
phptype:///database?option=value&anotheroption=anothervalue
phptype(dbsyntax)
phptype |
Derzeit werden folgende DBMS unterstützt:
dbase -> dBase
fbsql -> FrontBase (funktioniert seit DB 1.7.0)
ibase -> InterBase (funktioniert seit DB 1.7.0)
ifx -> Informix
msql -> Mini SQL (funktioniert seit DB 1.7.0)
mssql -> Microsoft SQL Server (NICHT für Sybase. Kompilieren Sie PHP mit --with-mssql)
mysql -> MySQL (for MySQL <= 4.0)
mysqli -> MySQL (for MySQL >= 4.1) (erfordert PHP 5) (seit DB 1.6.3)
oci8 -> Oracle 7/8/9
odbc -> ODBC (Open Database Connectivity)
pgsql -> PostgreSQL
sqlite -> SQLite
sybase -> Sybase |
Mit einer aktuellen Version von DB kann ein zweites DSN-Format benutzt werden:
phptype(syntax)://user:pass@protocol(proto_opts)/database |
Wenn die Werte für database, option,
username oder password
Zeichen enthalten, die als Trennzeichen im DSN benutzt werden, dann
müssen diese kodiert werden:
: = %3a / = %2f @ = %40
+ = %2b ( = %28 ) = %29
? = %3f = = %3d & = %26 |
Warnung |
Unter Umständen werden nicht alle Funktionen von PEAR:DB
durch den jeweiligen Datenbanktreiber unterstützt.
Eine Übersicht dazu erhalten Sie unter:
/pear/base/dir/DB/doc/STATUS.
Diese Datei enthält eine detailierte Liste darüber, welche Funktionen jeweils
unterstützt werden.
|