SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.11.2008, 10:01:26
LaMi LaMi ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 10
Oracle über ADOdb abfragen

Hallo,

ich möchte eine Oracle 10g ExpressEdition-Datenbank mittels ADOdb abfragen.

Der Kontakt zur Datenbank funktioniert. Das Problem aber sind die Groß- und Kleinschreibungen in den Tabellen und Abfragen. In der Oracle-Datenbank sind alle Tabellen- und Feldnamen groß geschrieben.

Der PHP-Code, der die Tabelle abfragt sieht folgendermaßen aus:
PHP-Code:
    $db db_connect(); 

    
$sql "SELECT * FROM intblLaender ORDER BY Land";
    
$result $db->Execute($sql);

    while (
$row $result->FetchRow())
    {
      if (
$row[Kuerzel] == $_POST['Land'])
      {
        echo 
"<option selected>$row[Kuerzel]</option>";
      }
      else
      {
        echo 
"<option>$row[Kuerzel]</option>";      
      }
    }
  
    
$db->Close(); 
Der Select-Befehl wird ausgeführt, aber die Auswahlliste auf dem Bildschirm enthält keine Daten. Es werden nur leere Einträge in Anzahl der Datensätze angezeigt.

Ändere ich $row[Kuerzel] in $row[KUERZEL] so funktioniert es. Das würde aber bedeuten, dass ich sämtlichen Code auf diese Großschreibung ändern muss, was ich nicht möchte, da dieser Code bereits mit einer MySQL und MS-SQL Datenbank wunderbar arbeitet.

Daher habe ich mir gedacht, dass ich die Schreibweise in der Oracle-Tabelle ändere, was diese auch zuläßt.

Ändere ich nur das Feld KUERZEL in Kuerzel, so funktioniert es ebenfalls wie gewünscht.

Ändere ich aber auch die zweite Spalte LAND in Land, so bricht die Execute-Anweisung mit 'Fatal error: Call to a member function FetchRow() on a non-object' ab.

Hintergrund ist wohl, dass der an die Datenbank gesendete Befehl von ADOdb (oder Oracle) in Großbuchstaben umgewandelt wird, und Oracle dadurch die nun kleingeschriebenen Fednamen nicht findet. Die direkte SQL-Eingabe in der Datenbank verhält sich genauso, d.h. auch hier wird ein kleingeschriebener Feldname nicht erkannt.

Weiß jemand Rat, wie ich der Oracle-DB sagen kann, dass diese auf Groß- und Kleinschreibung achten soll?

Vielleicht kann man hierzu ja auch was in der ADOdb einstellen?

Ich weiß. dies ist kein Oracle-Forum, aber vielleicht ist ja schon jemand über dieses Problem gestolpert und hat eine Lösung hierfür.

Gruß

LaMi
Mit Zitat antworten
  #2  
Alt 19.11.2008, 12:26:53
LaMi LaMi ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 10
AW: Oracle über ADOdb abfragen

Hallo,

Ich habe noch was Neues herausgefunden:
Wenn ich in Oracle die Feldnamen in meine gewünschte Form bringe (Kuerzel, Land) habe ich mit dem folgenden SQL-Statement den Erfolg diese auch abzufragen:

PHP-Code:
$sql 'SELECT * FROM intblLaender ORDER BY "Land" '
Auch die direkte Eingabe des SQL-Command's in Oracle führt nun zum Erfolg. Es scheint also direkt an Oracle zu liegen, wie die Feldnamen interpretiert werden. Wäre schön wenn es hierzu einen Schalter gibt, der dieses Verhalten beinflußt.

Hat jemand eine Ahnung ob es einen solchen gibt ???

Leider versteht nun die MySQL-Datenbank den SQL-Befehl nicht mehr.

Ich denke es wäre nun notwendig die " z.B. durch ein | zu ersetzen und dann bei der Verarbeitung des SQL-Befehls dieses Zeichen in Abhängigkeit der angesprochenen Datenbank zu löschen oder durch ein " zu ersetzen.

Gruß

MiL
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mySQL umschreiben in adoDB hilfe gesucht loaded PHP Grundlagen 6 21.01.2006 17:09:10
PHP mit Oracle 8.1.7 Th_Heide PHP für Fortgeschrittene und Experten 2 17.03.2005 23:07:31
Werbung für ADODB c4 Off Topic Area 7 18.06.2003 22:21:35
Oracle Lite vs. Oracle Personal c4 Off Topic Area 0 20.03.2003 18:45:55
Probleme mit NLS_LANG (OCI - Oracle) Katja PHP für Fortgeschrittene und Experten 2 24.06.2002 22:21:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:39:28 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt