Changeset 4695
- Timestamp:
- 07/19/08 13:12:59 (5 months ago)
- Location:
- branches/1.0/docs/manual/de/connection-management
- Files:
-
- 5 modified
-
connection-component-binding.txt (modified) (2 diffs)
-
dsn-the-data-source-name.txt (modified) (9 diffs)
-
lazy-connecting-to-database.txt (modified) (1 diff)
-
managing-connections.txt (modified) (4 diffs)
-
opening-a-new-connection.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.0/docs/manual/de/connection-management/connection-component-binding.txt
r4674 r4695 1 Doctrine allows you to bind connections to components (= your ActiveRecord classes). This means everytime a component 2 issues a query or data is being fetched from the table the component is pointing at Doctrine will use the bound 3 connection. 1 Mit Doctrine können Sie einzelnen Komponenten ihrer Anwendung (= ActiveRecord Klassen) unterschiedliche Verbindungen zuweisen (binding). Immer wenn eine Komponente Datenbankzugriffe durchführt, nutzt diese die ihr zugewiesene DB-Verbindung: 4 2 5 3 <code type="php"> … … 14 12 $q = Doctrine_Query::create(); 15 13 16 // Doctrine uses 'connection 1' for fetching here14 // Doctrine nutzt 'connection 1' zum Zugriff 17 15 $users = $q->from('User u')->where('u.id IN (1,2,3)')->execute(); 18 16 19 // Doctrine uses 'connection 2' for fetching here17 // Doctrine nutzt 'connection 2' zum Zugriff 20 18 $groups = $q->from('Group g')->where('g.id IN (1,2,3)')->execute(); 21 19 </code> -
branches/1.0/docs/manual/de/connection-management/dsn-the-data-source-name.txt
r4674 r4695 1 In order to connect to a database through Doctrine, you have to create a valid DSN - data source name. 1 Um eine DB-Verbindung mit Doctrine herzustellen, benutzen Sie einen gültigen DSN - data source name (Name der Datenquelle). 2 Doctrine unterstützt sowohl PEAR/DB/MDB2 als auch PDO DSN. Wenn Sie mehr zu PDO DSN wissen möchten, lesen Sie [[php PDO->__construct()]]. 3 4 Ein DSN besteht aus folgenden Teilen 2 5 3 Doctrine supports both PEAR DB/MDB2 like data source names as well as PDO style data source names. The following 4 section deals with PEAR like data source names. If you need more info about the PDO-style data source names see 5 [[php PDO->__construct()]]. 6 ||~ DSN Teil ||~ Beschreibung || 7 || phptype || von PHP benutzte DB (z.B. mysql , pgsql etc.) || 8 || dbsyntax || verwendete Datenbaksyntax im Bezug auf SQL Syntax etc. || 9 || protocol || Übertragunsprotokoll ( z.B. tcp, unix etc.) || 10 || hostspec || Hostrechner (z.B. localhost)(Hostname[:Port]) || 11 || database || Name der Dantenbank auf dem DBMS Server || 12 || username || Username für Login || 13 || password || Passwort für Login || 14 || proto_opts || Kann zusammen mit protocol benutzt werden|| 15 || option || Zusätzliche Verbindungsoptionen angehängt im URL-Query String Format (Key/Value Paare getrennt mit &). Die folgende Tabelle zeigt eine unvollständige Auswahl an Optionen: || 6 16 7 The DSN consists in the following parts: 17 **Optionsliste** 8 18 9 ||~ DSN part ||~ Description || 10 || phptype || Database backend used in PHP (i.e. mysql , pgsql etc.) || 11 || dbsyntax || Database used with regards to SQL syntax etc. || 12 || protocol || Communication protocol to use ( i.e. tcp, unix etc.) || 13 || hostspec || Host specification (hostname[:port]) || 14 || database || Database to use on the DBMS server || 15 || username || User name for login || 16 || password || Password for login || 17 || proto_opts || Maybe used with protocol || 18 || option || Additional connection options in URI query string format. Options are separated by ampersand 19 (&). The Following table shows a non complete list of options: || 19 ||~ Name ||~ Beschreibung || 20 || charset || Einige Backends unterstützen das Setzen des Client Zeichensatzes.|| 21 || new_link || Einige RDBMS erzeugen keine neuen Verbindungen, wenn sie mehrfach mit dem gleichen Host verbinden. Diese Option versucht, immer eine neue Verbindung zu erzwingen. || 20 22 21 22 **List of options** 23 24 ||~ Name ||~ Description || 25 || charset || Some backends support setting the client charset.|| 26 || new_link || Some RDBMS do not create new connections when connecting to the same host multiple times. This option 27 will attempt to force a new connection. || 28 29 The DSN can either be provided as an associative array or as a string. The string format of the supplied DSN is in its 30 fullest form: 23 Der DSN kann entweder als assoziatives Array oder als String übergeben werden. Die komplette Variante des String-Formats sieht so aus: 31 24 32 25 <code>phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value</code> 33 26 34 Most variations are allowed:27 Die meisten Schreibweisen werden unterstützt, z.B.: 35 28 36 29 <code> … … 47 40 </code> 48 41 49 The currently supported database backends are: 42 Zur Zeit werden folgende DB-Systeme unterstützt: 50 43 51 ||~ Driver name ||~ Supported databases||44 ||~ Treibername ||~ Unerstützte Datenbank || 52 45 || fbsql || FrontBase || 53 || ibase || InterBase / Firebird ( requiresPHP 5) ||54 || mssql || Microsoft SQL Server (N OT for Sybase. Compile PHP --with-mssql) ||46 || ibase || InterBase / Firebird (benötigt PHP 5) || 47 || mssql || Microsoft SQL Server (NICHT für Sybase. Compile PHP --with-mssql) || 55 48 || mysql || MySQL || 56 || mysqli || MySQL ( supports new authentication protocol) (requiresPHP 5) ||49 || mysqli || MySQL (unterstütztz neues Authentication Protokoll) (benötigt PHP 5) || 57 50 || oci8 || Oracle 7/8/9/10 || 58 51 || pgsql || PostgreSQL || … … 60 53 || sqlite || SQLite 2 || 61 54 62 A second DSN format supported is 55 Ein zweites unterstütztes DSN Format ist: 63 56 64 57 <code> … … 66 59 </code> 67 60 68 If your database, option values, username or password contain characters used to delineate DSN parts, you can escape 69 them via URI hex encodings: 61 Wenn der Datenbankname, die Option Parameter, der Username oder das Passwort Zeichen enthalten, die zur Kennzeichnung von DSN Teilen reserviert sind, können Sie diese durch die entsprechenden URI Hexadezimal-Codes ersetzen: 70 62 71 ||~ Character||~ Hex Code ||63 ||~ Zeichen ||~ Hex Code || 72 64 || : || %3a || 73 65 || / || %2f || … … 80 72 || & || %26 || 81 73 82 Warn ing83 Please note, that some features may be not supported by all database backends.74 Warnung 75 Bitte beachten Sie, dass einige Features nicht von allen Datenbanksystemen unterstützt werden. 84 76 85 77 86 +++ Examples78 +++ Beispiele 87 79 88 ** Example 1.** Connect to database through a socket80 **Bespiel 1.** Verbindung zur Datenbank mit einer Socket-Connection 89 81 90 82 <code> … … 92 84 </code> 93 85 94 ** Example 2.** Connect to database on a non standard port86 **Bespiel 2.** Verbindung zur Datenbank über einen Nicht-Standard-Port 95 87 96 88 <code> … … 98 90 </code> 99 91 100 ** Example 3.** Connect to SQLite on a Unix machine using options92 **Bespiel 3.** Verbindung mit SQLite auf einem Unix Server mit zusätzliche Parameters (options) 101 93 102 94 <code> … … 104 96 </code> 105 97 106 ** Example 4.** Connect to SQLite on a Windows machine using options98 **Bespiel 4.** Verbindung mit SQLite auf einem Windows Server mit zusätzliche Parameters (options) 107 99 108 100 <code> … … 110 102 </code> 111 103 112 ** Example 5.** Connect to MySQLi usingSSL104 **Bespiel 5.** Verbingung mit MySQLi über SSL 113 105 114 106 <code> -
branches/1.0/docs/manual/de/connection-management/lazy-connecting-to-database.txt
r4674 r4695 1 Lazy-connecting to database can save a lot of resources. There might be many pages where you don't need an actual 2 database connection, hence its always recommended to use lazy-connecting (that means Doctrine will only connect to 3 database when needed). 1 Lazy-Connecting zur Datenbank kann viele Systemresourcen sparen. Oftmals wird auf vielen Seiten keine DB-Verbindung gebraucht. Deshalb sollten Sie immer Lazy-Connecting benutzen. So stellt Doctrine nur dann eine DB-Verbindung her, wenn diese auch wirklich benötigt wird. 4 2 5 This feature can be very useful when using for example page caching, hence not actually needing a database connection 6 on every request. Remember connecting to database is an expensive operation. 3 Diese Funktion kann z.B. dann sehr sinnvoll sein, wenn Sie komplette Seiten cachen, denn dann brauchen Sie die Datenbankverbindung nicht. Denken Sie immer daran, dass das Verbinden mit der Datenbank ein sehr resourcenintensiver Vorgang ist. 7 4 8 5 <code type="php"> 9 // initalize a new Doctrine_Connection6 // neues Doctrine_Connection Objekt erzeugen 10 7 $conn = Doctrine_Manager::connection('mysql://username:password@localhost/test'); 11 8 // !! no actual database connection yet !! 12 9 13 // connects database and performs a query10 // stellt die Verbindung zur Datenbank her und führt eine Anfrage aus 14 11 $users = Doctrine_Query::create() 15 12 ->from('User u') -
branches/1.0/docs/manual/de/connection-management/managing-connections.txt
r4674 r4695 1 From the start Doctrine has been designed to work with multiple connections. Unless separately specified Doctrine always 2 uses the current connection for executing the queries. The following example uses {{openConnection()}} second argument as 3 an optional connection alias. 1 Von Beginn an wurde Doctrine so entworfen, dass es mit mehreren DB-Verbindungen arbeitet. Außer Sie geben die Verbindung explizit an, benutzt Doctrine immer die dezeit aktuelle Verbindung für Anfragen. 2 Das folgende Bespiel zeigt, wie man eine optionale DB-Verbindung als 2. Funktionsparameter {{openConnection()}} übergibt: 4 3 5 4 <code type="php"> 6 // Doctrine_Manager controls all the connections5 // Doctrine_Manager verwaltet alle Verbindungen 7 6 8 7 $manager = Doctrine_Manager::getInstance(); 9 8 10 // open first connection9 // erste Verbindung öffnen 11 10 12 11 $conn = $manager->openConnection('mysql://username:password@localhost/test', 'connection 1'); 13 12 </code> 14 13 15 For convenience {{Doctrine_Manager}} provides static method {{connection()}} which opens new connection when arguments 16 are given to it and returns the current connection when no arguments have been speficied. 14 Zur Vereinfachung stellt {{Doctrine_Manager}} die statische Methode {{connection()}} bereit. Beim Aufruf mit Parametern öffnet sie eine neue Verbindung, ohne Parameter liefert sie die aktuelle Vebindung zurück. 17 15 18 16 <code type="php"> 19 // open first connection17 // erste Verbindung öffnen 20 18 21 19 $conn = Doctrine_Manager::connection('mysql://username:password@localhost/test', 'connection 1'); … … 26 24 </code> 27 25 28 The current connection is the lastly opened connection. 26 Die aktuelle Verbindung ist immer die zuletzt geöffnete. 27 29 28 30 29 <code type="php"> 31 // open second connection30 // zweite Verbindung öffnen 32 31 33 32 $conn2 = $manager->openConnection('mysql://username2:password2@localhost/test2', 'connection 2'); … … 36 35 </code> 37 36 38 You can change the current connection by calling {{setCurrentConnection()}}. 39 37 Ändern Sie die benutzte Verbindung durch Aufrufen von {{setCurrentConnection()}}. 40 38 <code type="php"> 41 39 $manager->setCurrentConnection('connection 1'); … … 44 42 </code> 45 43 46 You can iterate over the opened connection by simple passing the manager object to foreach clause. This is possible 47 since {{Doctrine_Manager}} implements special {{IteratorAggregate}} interface. 44 45 Da {{Doctrine_Manager}} das {{IteratorAggregate}} Interface implementiert, können sie ganz einfach mit foreach über das Manager Objekt iterieren, um auf die geöffneten Verbindungen zuzugreifen: 48 46 49 47 <code type="php"> -
branches/1.0/docs/manual/de/connection-management/opening-a-new-connection.txt
r4674 r4695 1 Opening a new database connection in Doctrine is very easy. If you wish to use PDO (www.php.net/PDO) you can just 2 initalize a new PDO object:1 Eine neue Datenbankverbindung mit Doctrine herzustellen ist sehr einfach. 2 Wenn Sie PDO (www.php.net/PDO) benutzen wollen, erzeugen Sie einfach ein neues PDO Objekt: 3 3 4 4 <code type="php"> … … 15 15 </code> 16 16 17 Note: Directly passing a PDO instance to Doctrine_Manager::connection() will not allow Doctrine to be aware of the username 18 and password for the connection, since their is no way to retrieve it from an existing PDO instance. The username and password 19 is required in order for Doctrine to be able to create and drop databases. To get around this you can manually set the 20 username and password option directly on the $conn object. 17 Anmerkung: Wenn Sie eine PDO Instanz direkt an Doctrine_Manager::connection() übergeben, kennt Doctrine den Usernamen/Passwort der Verbindung nicht, da sich diese Informationen nicht aus einer bestehenden PDO Instanz auslesen lassen. Username und Passwort werden von Doctrine aber benötigt, um Datenbanken zu erzeugen und zu löschen. 18 Dieses Problem können Sie umgehen, indem sie dem $conn Objekt manuell Username und Passwort zuweisen. 21 19 22 20 <code type="php">