Changeset 4695
- Timestamp:
- 07/19/08 12:12:59 (12 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�n Sie einzelnen Komponenten ihrer Anwendung (= ActiveRecord Klassen) unterschiedliche Verbindungen zuweisen (binding). Immer wenn eine Komponente Datenbankzugriffe durchf�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�n DSN - data source name (Name der Datenquelle). 2 Doctrine unterst�owohl PEAR/DB/MDB2 als auch PDO DSN. Wenn Sie mehr zu PDO DSN wissen m�en, 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 || �ertragunsprotokoll ( 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�in || 13 || password || Passwort f�in || 14 || proto_opts || Kann zusammen mit protocol benutzt werden|| 15 || option || Zus�liche Verbindungsoptionen angeh�t im URL-Query String Format (Key/Value Paare getrennt mit &). Die folgende Tabelle zeigt eine unvollst�ige 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�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 �ben 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�z.B.: 35 28 36 29 <code> … … 47 40 </code> 48 41 49 The currently supported database backends are: 50 51 ||~ Driver name ||~ Supported databases || 42 Zur Zeit werden folgende DB-Systeme unterst� 43 ||~ Treibername ||~ Unerst�Datenbank || 52 44 || fbsql || FrontBase || 53 || ibase || InterBase / Firebird ( requiresPHP 5) ||54 || mssql || Microsoft SQL Server (N OT for Sybase. Compile PHP --with-mssql) ||45 || ibase || InterBase / Firebird (ben�t PHP 5) || 46 || mssql || Microsoft SQL Server (NICHT f�ase. Compile PHP --with-mssql) || 55 47 || mysql || MySQL || 56 || mysqli || MySQL ( supports new authentication protocol) (requiresPHP 5) ||48 || mysqli || MySQL (unterst�neues Authentication Protokoll) (ben�t PHP 5) || 57 49 || oci8 || Oracle 7/8/9/10 || 58 50 || pgsql || PostgreSQL || … … 60 52 || sqlite || SQLite 2 || 61 53 62 A second DSN format supported is 54 Ein zweites unterst� DSN Format ist: 63 55 64 56 <code> … … 66 58 </code> 67 59 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: 60 Wenn der Datenbankname, die Option Parameter, der Username oder das Passwort Zeichen enthalten, die zur Kennzeichnung von DSN Teilen reserviert sind, k�n Sie diese durch die entsprechenden URI Hexadezimal-Codes ersetzen: 70 61 71 ||~ Character||~ Hex Code ||62 ||~ Zeichen ||~ Hex Code || 72 63 || : || %3a || 73 64 || / || %2f || … … 80 71 || & || %26 || 81 72 82 Warn ing83 Please note, that some features may be not supported by all database backends.73 Warnung 74 Bitte beachten Sie, dass einige Features nicht von allen Datenbanksystemen unterst�erden. 84 75 85 76 86 +++ Examples77 +++ Beispiele 87 78 88 ** Example 1.** Connect to database through a socket79 **Bespiel 1.** Verbindung zur Datenbank mit einer Socket-Connection 89 80 90 81 <code> … … 92 83 </code> 93 84 94 ** Example 2.** Connect to database on a non standard port85 **Bespiel 2.** Verbindung zur Datenbank �inen Nicht-Standard-Port 95 86 96 87 <code> … … 98 89 </code> 99 90 100 ** Example 3.** Connect to SQLite on a Unix machine using options91 **Bespiel 3.** Verbindung mit SQLite auf einem Unix Server mit zus�liche Parameters (options) 101 92 102 93 <code> … … 104 95 </code> 105 96 106 ** Example 4.** Connect to SQLite on a Windows machine using options97 **Bespiel 4.** Verbindung mit SQLite auf einem Windows Server mit zus�liche Parameters (options) 107 98 108 99 <code> … … 110 101 </code> 111 102 112 ** Example 5.** Connect to MySQLi using SSL103 **Bespiel 5.** Verbingung mit MySQLi �SL 113 104 114 105 <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�t 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�ine 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�r Sie geben die Verbindung explizit an, benutzt Doctrine immer die dezeit aktuelle Verbindung f�ragen. 2 Das folgende Bespiel zeigt, wie man eine optionale DB-Verbindung als 2. Funktionsparameter {{openConnection()}} �bt: 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 �en 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. 17 18 <code type="php"> 19 // open first connection 14 Zur Vereinfachung stellt {{Doctrine_Manager}} die statische Methode {{connection()}} bereit. Beim Aufruf mit Parametern �et sie eine neue Verbindung, ohne Parameter liefert sie die aktuelle Vebindung zur�<code type="php"> 15 // erste Verbindung �en 20 16 21 17 $conn = Doctrine_Manager::connection('mysql://username:password@localhost/test', 'connection 1'); … … 26 22 </code> 27 23 28 The current connection is the lastly opened connection. 24 Die aktuelle Verbindung ist immer die zuletzt ge�ete. 25 29 26 30 27 <code type="php"> 31 // open second connection28 // zweite Verbindung �en 32 29 33 30 $conn2 = $manager->openConnection('mysql://username2:password2@localhost/test2', 'connection 2'); … … 36 33 </code> 37 34 38 You can change the current connection by calling {{setCurrentConnection()}}. 39 35 �dern Sie die benutzte Verbindung durch Aufrufen von {{setCurrentConnection()}}. 40 36 <code type="php"> 41 37 $manager->setCurrentConnection('connection 1'); … … 44 40 </code> 45 41 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. 42 43 Da {{Doctrine_Manager}} das {{IteratorAggregate}} Interface implementiert, k�n sie ganz einfach mit foreach �as Manager Objekt iterieren, um auf die ge�eten Verbindungen zuzugreifen: 48 44 49 45 <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() �ben, 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�t, um Datenbanken zu erzeugen und zu l�en. 18 Dieses Problem k�n Sie umgehen, indem sie dem $conn Objekt manuell Username und Passwort zuweisen. 21 19 22 20 <code type="php">