Oracle-Spezialitäten in ZF
Autor: Vilma Plum
eingetragen: Dienstag, 09. Februar 2010 um 12:03 Uhr (6/2010 Kalenderwoche)
geändert: Dienstag, 02. März 2010 um 14:16 Uhr (9/2010 Kalenderwoche)
Keywords: lastInsertId lastSequenceId
Kategorien: PHP-ZF (Künftig wegfallend), DB: Oracle,
Text:
- Specify this Adapter to the factory() method with the name 'Oracle'.
- This Adapter uses the PHP extension oci8.
- Oracle does not support auto-incrementing keys, so you should specify the name of a sequence to lastInsertId() or lastSequenceId().
- The Oracle extension does not support positional parameters. You must use named parameters.
- Currently the ZendDb::CASEFOLDING option is not supported by the Oracle adapter. To use this option with Oracle, you must use the PDO OCI adapter.
- By default, LOB fields are returned as OCI-Lob objects. You could retrieve them as string for all requests by using driver options 'lobasstring' or for particular request by using setLobAsString(boolean) on adapter or on statement.
Schema Informationen müssen bei Spezial-Usern extra mitgegeben werden. Z.B. in Klasse für DB-Connect das schema aus der config.ini auslesen und hier in registry oder constante speichern. Diese Speicherung dann in jedem Model nutzen unter protected $schema = . Dies greift dann automatisch bei allen Statements, die ohne Nennung der Tabelle aufgerufen werden. Werden SQL-Statements als Select-String geschrieben, muss hier die Speicherung explizit eingefügt werden.
- This Adapter uses the PHP extension oci8.
Quellcode:
Verwendung von lastSequenceIsd() ist nur ü+ber den DefaultAdapter möglich:
$id = Zend_Db_Table_Abstract::getDefaultAdapter()->lastSequenceId('S_ID_NWR');
protected $_schema = Schema-Name aus Speicherung