Um nicht vollkommen durcheinander zu kommen
empfielt es sich eine datenbankunabhängige Datenbankzugriffsschicht zu verwenden. Eine einfache, bei PHP standardmäßig dabei, ist PearDB
http://pear.php.net/package/db/
- Code: Select all
/* Envirementvariablen für die Datenbankverbindung zu Oracle
bitte anpassen */
PutEnv("ORACLE_SID=MYDB");
PutEnv("ORACLE_HOME=c:/Programme/oracle/instantclient");
PutEnv("TNS_ADMIN=c:/Programme/oracle/instantclient");
$dsn1 = "oci8://scott:tiger@MYDB" //Username und password
//Optionen sehe pear.php.net
$options1 = array('debug' => 2,
'persistent' => true );
$dbentfernt = & DB::connect($dsn1, $options1);
if (DB::isError($dbentfernt))
{
echo 'Keine Verbindung zur Datenbank'
}
$dbentfernt->setFetchMode(DB_FETCHMODE_ASSOC);
// gerade beim Umstieg von MySQL auf Oracle hilft folgende Option:
$dbentfernt->setOption('portability',DB_PORTABILITY_LOWERCASE);
// Username, Password und Datenbank anpassen
$dsn2 = "mysql://root:@localhost/mydb"
//Optionen sehe pear.php.net
$options2 = array('debug' => 2,
'persistent' => true );
$dblocal = & DB::connect($dsn2, $options2);
if (DB::isError($dblocal))
{
echo 'Keine Verbindung zur Datenbank'
}
$dblocal->setFetchMode(DB_FETCHMODE_ASSOC);
// Zugriff auf entfernte Datenbank
$array1 = $dbentfernt->getAll('select * from table1');
//Zugriff auf lokale Datenbank
$array2 = $dblocal->getAll('select * from table2');
PearDB hat viele Möglichkeiten von Selects, getAll ist nur eine.
Der Zugriff auf die Datenbanken kann aber (bis auf wenige Ausnahmen)
vollkommen Identisch ablaufen.
Für den Zugriff auf Oracle muss die OCI8 Erweiterung geladen sein,
und ein Oracle-Client installiert sein. Der kleinste und einfachste
Client ist der Instantclient (Instantclient 10 kann auch Verbindungen
mit Oracle 8 oder 9 herstellen). In dem Verzeichnis des
Instantclient kannst Du dann auch die Datei TNSNAMES.ORA erzeugen.[url][/url]