PEAR::DB により、データベースに接続するには、有効な DSN - data source name を作成する必要があります。 この DSN は、以下の要素からなります。
phptype
:
PHP で使用されるデータベースバックエンドです
(すなわち mysql
や odbc
等)。
dbsyntax
:
SQL 構文等のデータベース関連構文です。
phptype
として ODBC を使用する場合、
ODBC ドライバが接続している DBMS タイプにこれをセットしてください。
例: access
・
db2
・mssql
・
navision
・solid
・その他
protocol
:
使用する通信プロトコルです
(すなわち、tcp
・unix
等)。
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
database
、option
の値や
username
あるいは password
に DSN の区切り文字が使用されている場合は、URI エンコーディング方式で
それをエスケープします。
: = %3a / = %2f @ = %40 + = %2b ( = %28 ) = %29 ? = %3f = = %3d & = %26
いくつかの機能は、 全てのデータベースバックエンドでサポートされていません。 どの機能がどのバックエンドでサポートされているかに関する詳細なリストを 取得するには
/pear/base/dir/DB/doc/STATUS
にある PEAR DB 拡張 のステータスドキュメントを参照して下さい。
ソケットによりデータベースに接続する
mysql://user@unix(/path/to/socket)/pear
標準以外のポートでデータベースに接続する
pgsql://user:pass@tcp(localhost:5555)/pear
オプションを使用して Unix マシン上の SQLite に接続する
sqlite:////full/unix/path/to/file.db?mode=0666
オプションを使用して Windows マシン上の SQLite に接続する
sqlite:///c:/full/windows/path/to/file.db?mode=0666
SSL を用いて MySQLi に接続する
mysqli://user:pass@localhost/pear?key=client-key.pem&cert=client-cert.pem
ユーザー名に admin
を時々要求し、MS Access に接続する
odbc(access)://admin@/datasourcename
カーソル指定で ODBC に接続
odbc(access)://admin@/datasourcename?cursor=SQL_CUR_USE_ODBC