Changeset 4549
- Timestamp:
- 06/23/08 07:43:14 (13 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/0.11/manual/docs/ja/connection-management.txt
r4531 r4549 1 ++ DSN(データソース名) 2 Doctrineを通してデータベースに接続するために、有効なDSN - データソースネーム(data source name)を作成しなければなりません。 1 ++ DSN (データソース名) 2 3 Doctrineを通してデータベースに接続するために、正しいDSN - データソース名(data source name)を作成しなければなりません。 3 4 4 5 DoctrineはPDO形式のDSNと同様にPEARとDB/MDB2形式のDSNをサポートします。次のセクションではPEAR形式のDSNを取り扱います。PDO形式のDSNに関して詳細な情報な必要な場合、[[php PDO->__construct()]]をご覧下さい。 … … 7 8 8 9 ||~ DSN part ||~ 説明 || 9 || phptype || PHPで使用されるデータベースバックエンド ( すなわち、mysql、pgsqlなど) ||10 || phptype || PHPで使用されるデータベースバックエンド (mysql、pgsqlなど) || 10 11 || dbsyntax || SQL構文などに関して使用されるデータベース || 11 || protocol || 使用する通信プロトコル( すなわち、tcp、unixなど) ||12 || protocol || 使用する通信プロトコル(tcp、unixなど) || 12 13 || hostspec || ホストを指定します(hostname[:port]) || 13 14 || database || DBMSサーバー上で使用されるデータベース || … … 15 16 || password || ログイン用のパスワード || 16 17 || proto_opts || プロトコルと一緒に使用されることがあります || 17 || option || RIクエリ文字列形式の追加接続オプションです。オプションはアンパサンド(&)によって分割されます。次の表で不完全なオプションのリストが示されています: ||18 || option || URIクエリ文字列形式の追加接続オプションです。オプションはアンパサンド(&)によって分割されます。次の表でオプションのリストの一部が記述されています: || 18 19 19 20 … … 21 22 22 23 ||~ 名前 ||~ 説明 || 23 || charset || バックエンドの中にはクライアント 文字セットの設定をサポートするものがあります。||24 || charset || バックエンドの中にはクライアントの文字エンコーディングの設定をサポートするものがあります。|| 24 25 || new_link || RDBMSの中には同じホストに複数回接続するときに新しい接続を作成しないものがあります。このオプションは新しい接続を強制することを試みます。 || 25 26 … … 30 31 </code> 31 32 32 多くのバリエーションが許容されます:33 以下のような多くのバリエーションが可能です: 33 34 34 35 <code> … … 47 48 現在サポートされているデータベースのバックエンドは次の通りです: 48 49 49 ||~ ドライバ名 ||~ サポートされ たデータベース ||50 ||~ ドライバ名 ||~ サポートされるデータベース || 50 51 || fbsql || FrontBase || 51 52 || ibase || InterBase / Firebird (PHP5が要求されます) || 52 53 || mssql || Microsoft SQL Server (Sybaseではありません。--with-mssqlでPHPをコンパイルして下さい) || 53 54 || mysql || MySQL || 54 || mysqli || MySQL (新しい認証プロトコルをサポート) (PHP 5が 要求されます) ||55 || mysqli || MySQL (新しい認証プロトコルをサポート) (PHP 5が必要です) || 55 56 || oci8 || Oracle 7/8/9/10 || 56 57 || pgsql || PostgreSQL || … … 77 78 || & || %26 || 78 79 79 警告 80 いくつかの機能はすべてのデータベースバックエンドでサポートされないことにご注意下さい。 81 80 注意 81 いくつかの機能はすべてのデータベースバックエンドでサポートされないことにご注意下さい。 82 82 83 83 +++ 例 … … 114 114 115 115 ++ 新しい接続を開く 116 Doctrineで新しいデータベース接続を開くことはとても簡単です。PDO (www.php.net/PDO)を使用することを望むのであれば、新しPDOオブジェクトを初期化だけです: 116 117 Doctrineで新しいデータベース接続を開くことはとても簡単です。PDO (www.php.net/PDO)を使用することを望むのであれば、新しPDOオブジェクトを初期化するだけです: 117 118 118 119 <code type="php"> … … 123 124 try { 124 125 $dbh = new PDO($dsn, $user, $password); 126 $conn = Doctrine_Manager::connection($dbh); 125 127 } catch (PDOException $e) { 126 128 echo 'Connection failed: ' . $e->getMessage(); … … 128 130 </code> 129 131 132 注意: Doctrine_Manager::connection()にPDOインスタンスを直接渡しても既に存在するPDOインスタンスには存在しないためDoctrineは接続のためのユーザーネームとパスワードを受け付けません。データベースを作成したり削除するためにDoctrineはユーザーネームとパスワードを必要とします。これを可能にするためにはユーザーネームとパスワードを$connオブジェクトに直接設定する必要があります。 133 134 <code type="php"> 135 $conn->setOption('username', 'username'); 136 $conn->setOption('password', 'password'); 137 </code> 138 130 139 ++ データベースへの遅延接続 131 データベースへのレイジー接続によって多くのリソースを節約できます。これらは実際のデータベース接続が必要ではない多くのページであることがありますので、常にレイジー接続を使用することが推奨されます(このことはDoctrineが必要な時のみデータベースに接続することを意味します)。 132 133 この機能は例えばページキャッシングを使用するときにとても便利なので、すべてのリクエストごとにデータベース接続が実際には必要ありません。データベースに接続することはとても負荷のかかるオペレーションであることを覚えておいて下さい。 140 141 データベースへのレイジー接続によって多くのリソースを節約できます。実際データベース接続が必要ではないページは多くあるかもしれないので、常にDoctrineが必要な時にだけデータベースに接続するレイジー接続を使用することをお勧めします。 142 143 この機能は例えばページキャッシングを使用するときなどにとても便利で、すべてのリクエストごとにデータベース接続が作られなくなります。データベースに接続することはとても負荷のかかるオペレーションであることを覚えておいて下さい。 134 144 135 145 <code type="php"> … … 145 155 146 156 ++ 接続を管理する 147 最初からDoctrineは複数の接続で動作するように設計されてきました。個別に指定されない限りDoctrineはクエリを実行するために常に現在の接続を使用します。次の例は {{openConnection()}} 秒の引数をオプションの接続エイリアスとして使用します。 157 158 最初からDoctrineは複数の接続で動作するように設計されてきました。個別に指定されない限りDoctrineはクエリを実行するために常に現在の接続を使用します。次の例は {{openConnection()}} の2番目の引数を接続エイリアスのオプションとして使用します。 148 159 149 160 <code type="php"> … … 157 168 </code> 158 169 159 利便性のために {{Doctrine_Manager}}はスタティックメソッドである{{connection()}}を提供します。このメソッドは引数が与えられたときに新しい接続を開き、引数が指定されないときは現在の接続を返します。170 利便性のために {{Doctrine_Manager}} はスタティックメソッドである {{connection()}} を提供します。このメソッドは引数が与えられたときに新しい接続を開き、引数が指定されないときは現在の接続を返します。 160 171 161 172 <code type="php"> … … 179 190 </code> 180 191 181 {{setCurrentConnection()}} を呼び出して現在の接続を変更できます。192 {{setCurrentConnection()}} を呼んで現在の接続を変更できます。 182 193 183 194 <code type="php"> … … 187 198 </code> 188 199 189 managerオブジェクトをforeach句に渡すだけで開いた接続を反復できます。{{Doctrine_Manager}} は特別な{{IteratorAggregate}} interfaceをimplementすることでこれは可能です。200 managerオブジェクトをforeach句に渡すだけで開いた接続を反復できます。{{Doctrine_Manager}} が特別な{{IteratorAggregate}} インターフェースを implements することでこれが可能になっています。 190 201 191 202 <code type="php"> … … 198 209 199 210 ++ 接続コンポーネントバインディング 200 Doctrineによってコンポーネント(= your ActiveRecordクラス)への接続をバインドできます。このことはコンポーネントがクエリを発行するもしくはデータがコンポーネントが指定しているテーブルから取得されるたびにDoctrineはバインドされた接続を使用します。 211 212 Doctrineによってコンポーネント(= ActiveRecordクラス)への接続をバインドできます。このことはコンポーネントがクエリを発行するかデータがコンポーネントが指定しているテーブルから取得されるたびにDoctrineはバインドされた接続を使用します。 201 213 202 214 <code type="php">