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:
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
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.
Verbindung zu einer Datenbank über eine Socket
mysql://user@unix(/path/to/socket)/pear
Verbindung zu einer Datenbank über einen unüblichen Port
pgsql://user:pass@tcp(localhost:5555)/pear
Verbindung zu einer SQLite-Datenbank unter Unix unter Benutzung von Optionen
sqlite:////full/unix/path/to/file.db?mode=0666
Verbindung zu einer SQLite-Datenbank unter Windows unter Benutzung von Optionen
sqlite:///c:/full/windows/path/to/file.db?mode=0666
Verbindung zu einer MySQL-Datenbank über SSL
mysqli://user:pass@localhost/pear?key=client-key.pem&cert=client-cert.pem
Eine Verbindung zu MS Access erfordert manchmal admin als Benutzernamen
odbc(access)://admin@/datasourcename
Verbindung über ODBC mit einem speziellen Cursor
odbc(access)://admin@/datasourcename?cursor=SQL_CUR_USE_ODBC