Einführung - DSN

Einführung - DSN – Der Data Source Name

Description

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

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.

Example

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
DB (Previous) Datenverbindung aufbauen und beenden (Next)
Last updated: Sun, 19 Dec 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.