導入 - DSN

導入 - DSN -- データソース名(The Data Source Name)

説明

PEAR::DB により、データベースに接続するには、有効な DSN - data source name を作成する必要があります。 この DSN は、以下の要素からなります。

phptype: PHP で使用されるデータベースバックエンドです (すなわち mysqlodbc 等)。
dbsyntax: SQL 構文等のデータベース関連構文です。 phptype として ODBC を使用する場合、 ODBC ドライバが接続している DBMS タイプにこれをセットしてください。 例: accessdb2mssqlnavisionsolid・その他
protocol: 使用する通信プロトコルです (すなわち、tcpunix 等)。
hostspec: ホストの指定です (hostname[:port])。
database: DBMS サーバ上のデータベース使用方法です。
username: ログイン用ユーザ名です。
password: ログイン用のパスワードです。
proto_opts: protocol で使用されるオプションです。

DSN の形式を完全に指定する場合は以下のようになります。
phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value
以下のように多くのバリエーションが許されています。
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?option=value&anotheroption=anothervalue
phptype(dbsyntax)
phptype
現在、サポートされているデータベースバックエンドは、 以下のとおりになります。
dbase  -> dBase
fbsql  -> FrontBase (DB 1.7.0 以降)
ibase  -> InterBase (DB 1.7.0 以降)
ifx    -> Informix
msql   -> Mini SQL (DB 1.7.0 以降)
mssql  -> Microsoft SQL Server (Sybase 用では「ありません」。--with-mssql をつけて PHP をコンパイルします)
mysql  -> MySQL (MySQL <= 4.0 用)
mysqli -> MySQL (MySQL >= 4.1 用) (PHP 5 以降) (DB 1.6.3 以降)
oci8   -> Oracle 7/8/9
odbc   -> ODBC (Open Database Connectivity)
pgsql  -> PostgreSQL
sqlite -> SQLite
sybase -> Sybase

最新版の DB では、 第2の DSN 形式を使用することが可能です。
phptype(syntax)://user:pass@protocol(proto_opts)/database

databaseoption の値や username あるいは password に DSN の区切り文字が使用されている場合は、URI エンコーディング方式で それをエスケープします。
: = %3a   / = %2f   @ = %40
+ = %2b   ( = %28   ) = %29
? = %3f   = = %3d   & = %26

警告

いくつかの機能は、 全てのデータベースバックエンドでサポートされていません。 どの機能がどのバックエンドでサポートされているかに関する詳細なリストを 取得するには /pear/base/dir/DB/doc/STATUS にある PEAR DB 拡張 のステータスドキュメントを参照して下さい。