Introduction - DSN

Introduction - DSN – Le nom du pilote de base de données (The Data Source Name)

Description

Pour vous connecter à une base de donnée à travers PEAR::DB, vous devez créer un DSN - data source name valide. Ce DSN est constitué des parties suivantes :

  • phptype: Pilote de base de données utilisé par PHP (i.e. mysql, odbc etc.)
  • dbsyntax: Base de données utilisées en fonction de la syntaxe SQL, etc. Lorsque vous utilisez ODBC comme phptype, configurez ce paramètre au type du DBMS auquel se connecte ODBC. Par exemple : access, db2, mssql, navision, solid, etc.
  • protocol: Le protocole de communication à utiliser ( i.e. tcp, unix etc.)
  • hostspec : Spécification de l'hôte (hostname[:port])
  • database : Base de données à utiliser sur le serveur
  • username : Nom d'utilisateur de la base de données
  • password : Mot de passe de l'utilisateur
  • proto_opts : Peut être utilisé avec protocol
  • option : Options de connexion additionelles au format d'une URI. Les options sont séparées par des &

Le format d'un DSN dans sa forme la plus complète est :

phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value

Plusieurs variations sont permises :

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=valeur&uneautreoption=uneautrevaleur
phptype(dbsyntax)
phptype

Actuellement, les pilotes de base de données suivants sont supportés

dbase  -> dBase
fbsql  -> FrontBase (fonctionnel depuis DB 1.7.0)
ibase  -> InterBase (fonctionnel depuis DB 1.7.0)
ifx    -> Informix
msql   -> Mini SQL (fonctionnel depuis DB 1.7.0)
mssql  -> Microsoft SQL Server (PAS pour Sybase. Compilez PHP --with-mssql)
mysql  -> MySQL (pour les serveurs utilisant MySQL <= 4.0)
mysqli -> MySQL (pour les serveurs utilisant MySQL >= 4.1) (nécessite PHP 5)(depuis DB 1.6.3)
oci8   -> Oracle 7/8/9
odbc   -> ODBC (Open Database Connectivity)
pgsql  -> PostgreSQL
sqlite -> SQLite
sybase -> Sybase

avec une version à jour de DB, vous pouvez utiliser un nouveau format

phptype(syntax)://user:pass@protocol(proto_opts)/database

Si votre username ou password contient des caractères utilisés pour délimter les parties DSN, vous pouvez les échapper avec un encodage hexadécimal des URI :

: = %3a   / = %2f   @ = %40
+ = %2b   ( = %28   ) = %29
? = %3f   = = %3d   & = %26

Notez que certaines fonctionnalités peuvent ne pas exister dans tous les pilotes de base de données. Lisez le document sur le status de l'extension PEAR DB qui se trouve sur : /pear/base/dir/DB/doc/STATUS pour obtenir une liste détaillée à propos des fonctionnalités supportées par chaque pilote.

Example

Connexion via une socket

mysql://user@unix(/path/to/socket)/pear

Connexion sur un port non standard

pgsql://user:pass@tcp(localhost:5555)/pear

Connexion à SQLite sur une machine Unix en utilisant des options

sqlite:////full/unix/path/to/file.db?mode=0666

Connexion à SQLite sur une machine Windows en utilisant des options

sqlite:///c:/full/windows/path/to/file.db?mode=0666

Connexion à MySQLi en utilisant SSL

mysqli://user:pass@localhost/pear?key=client-key.pem&cert=client-cert.pem

La connexion à MS Access requière des fois d'être connecté en tant que admin

odbc(access)://admin@/datasourcename

Connexion à ODBC avec un curseur spécifique

odbc(access)://admin@/datasourcename?cursor=SQL_CUR_USE_ODBC
DB (Previous) Se connecter et se déconnecter d'une base de données (Next)
Last updated: Sun, 29 Aug 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.