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 |
Avertissement |
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.
|