select-Statement (mit LIKE) an Oracle über ADO-Komponenten



  • Hi,

    ich weiß nicht ganz, ob meine Frage hier oder im Datenbank-Forum besser aufgehoben ist, wenn nötig bitte verschieben.

    Folgende Situation: Ich programmiere mit dem Borland C++-Builder 6.0 und habe eine Verbindung zu einer Oracle 9.2-Datenbank über die ADO-Komponenten. Ich habe eine Tabelle (die ich jetzt gerade mal "tabelle1" nenne), in der eine Spalte "datum" existiert (das Datum ist als String im Format "13.07.2006" abgespeichert).

    Nun möchte ich folgendes SQL-Statement absetzen:

    select name, datum from tabelle1 where datum LIKE '%7.2006'

    Mit dem Tool "SQL *Plus" von Oracle, mit dem man per SQL auf die Datenbank zugreifen kann, funktioniert dieses Statement auch ohne Probleme.

    Bei meinem C++-Programm passiert folgendes: Wenn kein Ergebnis gefunden wird, kommt keine Fehlermeldung. Wenn ein Ergebnis gefunden wird (bzw. gefunden werden sollte), wird beim Ausführen des SQL-Statements eine OLEException geworfen mit der aussagekräftigen Fehlermeldung "Unbekannter Fehler". 🙂

    Hat jemand eine Idee, woran das liegen könnte?
    Vielen Dank
    Junimond



  • Was für einen Feldtyp hat Datum?



  • Hallo,

    die Spalte "datum" ist vom Typ "VARCHAR".

    Junimond



  • Ok, dann sollte das eigentlich funktionieren.
    Ausführungsrechte sind ok?
    Welchen Provider verwendest Du? Falls Du einen MS-Provider verwendest, empfehle ich dringenst den Wechsel auf einen Provider von Oracle.



  • Hallo und danke für die Hilfsbereitschaft, 🙂

    Ausführungsrechte für "select" auf alle vorhandenen Tabellen in der Datenbank habe ich.
    Meinst du mit "Provider" den ODBC-Treiber, den ich verwende? Ich verwende den von Oracle, der bei der Installation des Oracle-Clients mit instaliert wird.

    Gruß
    Junimond



  • Da Du eine ODBC-Quelle hast, versuch doch bitte mal mittels TQuery das Select abzusetzen (in einem neuen Projekt).


Anmelden zum Antworten