DSN -- データソース名 (Data Source Name)
説明
PEAR::MDB2 でデータベースに接続するには、正しい
DSN を作成しなければなりません。
この DSN は、以下のパーツから構成されています。
phptype:
PHP で使用するデータベースバックエンド (例えば mysql
や pgsql など)
|
dbsyntax:
データベースで使用する SQL の構文など
|
protocol:
使用する通信プロトコル (例えば tcp
や unix など)
|
hostspec:
ホストの指定 (hostname[:port])
|
database:
DBMS サーバ上で使用するデータベース
|
username:
ログイン時のユーザ名
|
password:
ログイン時のパスワード
|
proto_opts:
おそらく protocol と組み合わせて使用する
|
option:
追加の接続オプションを、URI クエリ文字列形式で指定する。
複数存在する場合は & で連結する。以下の表は、
オプションの一部を示したものです。
|
表 39-1オプションの一覧
名前 | 説明 | 型 |
---|
charset |
クライアントの文字セットを指定できるバックエンドもあります
(setCharset(string $charset, [resource $connection = null])
を実行します)。
| string |
new_link [boolean] |
同じホストから複数回の接続があった場合に、新しい接続を作成しない
RDBMS があります。このオプションを TRUE にすると、
そのような場合に強制的に新しい接続を作成しようとします。
| boolean |
DSN は、連想配列あるいは文字列のいずれかの形式で指定することができます。
配列形式を推奨します。というのも、そうすれば余計なパース処理が不要となるからです
(接続
の例を参照ください)。
文字列形式で示した 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
phptype:///database?option=value&anotheroption=anothervalue
phptype(dbsyntax)
phptype |
現在サポートしているデータベースバックエンドは次のとおりです。
fbsql -> FrontBase
ibase -> InterBase / Firebird (PHP 5 が必要です)
mssql -> Microsoft SQL Server (Sybase 用ではありません。PHP を --with-mssql でコンパイルします)
mysql -> MySQL
mysqli -> MySQL (新しい認証プロトコルをサポートしています) (PHP 5 が必要です)
oci8 -> Oracle 7/8/9/10
pgsql -> PostgreSQL
querysim -> QuerySim
sqlite -> SQLite 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 |
警告 |
中には、すべてのデータベースバックエンドがサポートしているわけではない
機能もあることに注意しましょう。
|