PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

導入 - DSN | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

導入 - DSN

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

Description

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 拡張 のステータスドキュメントを参照して下さい。

Example

ソケットによりデータベースに接続する

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
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「導入 - DSN」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 導入 - DSN」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: