Announcement

Collapse
No announcement yet.

ADO MS-SQL und ORACLE

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ADO MS-SQL und ORACLE

    Hallo zusammen, <BR>
    ich habe eine DB-Appl. geschrieben, die über ADO und den OLE-DB Treiber auf einen MS-SQL 2000 Server zugreift. Außerdem soll die Anwendung in der Lage sein (durch Austausch des Providers) auf einen ORACLE 9.x Server zuzugreifen. Mit dem MS-ORACLE-Treiber funktioniert dies auch problemlos. Aufgrund neuer Anforderungen (BLOB..) muß ich nun auf den ORACLE-OLE-DB Treiber zurückgreifen. Hier erhalte ich aber leider bei einem einfachen select schon einen EOLEException-Error mit Zeichenfolgen wie zB. @MS ,?? oder auch eine leere Fehlermeldung. Durch Löschen und Neuanlegen einer ADODataSet-Komponente konnte ich teilweise (wenn auch aufwendig) den Fehler wegbekommen. Dies funktioniert aber leider auch nicht bei allen Tables !? <BR>
    Kann sich einer dieses Verhalten erklären ? <BR>
    Vielleicht Herr Kosch ???
    <P>
    Konfiguration: Delphi 7 Enterprise, ADO 2.8 <BR>Windows XP prof.
    <P>
    Gruß, <BR>
    Bernd <BR>

  • #2
    Wenn's denn auch wer anders ein darf, der antwortet <g>

    Daraus das durch Löschen und Neuanlegen
    der ADODataset-Komponente Fehler verschwunden sind, schliesse ich mal darauf, dass statische Felder verwendet wurden.
    Wenn Anwendungen mit mehreren Providern laufen sollen, ist in jedem Fall auf statische Felder zu verzichten, da ggfs andere Feldtypen für ähnliche Datentypen bei unterschiedlichen Datenbanken erzeugt werden. Nicht zu vernachlässigen sind daneben teilweise signifikante Unterschiede in der Syntax, gibt es da vielleicht noch MS SQL spezifische Syntax ?.
    Mit Oracle 9x und ADo 2.8 habe ich zwar keine Erfahrungen gesammelt, dafür aber mit Oracle 8.17 vs ADO 2.6 /2.7 mit Delphi dbGo, und das lief gut.

    Grüsse Bernd U

    Comment


    • #3
      Jede Antwort ist mir recht ....:-) <BR>
      Die Ausführungen sind mir alle soweit schon klar. Nur bringt mich das nicht so recht weiter:<BR>
      Ich verwende statische Felder. Nur klappte der Austausch der Datasetkomponenten nicht immer!?<BR>
      Und vom Syntax her sollte es auch keine Schwierigkeiten geben. Der MS-ORACLE Treiber funktioniert mit der Applikation völlig ohne Fehler, außer das ich keine CBLOB Felder verwenden kann und es wohl von MS keine Weiterentwicklung geben wird

      Comment


      • #4
        Hallo, EOLEException-Error mit Zeichenfolgen wie zB. @MS ,??<br>.
        Wenn du in deiner Abfrage für Oracle diese Zeichen verwendest, kann es durchaus zu Problemen kommen.<br>
        Bsp.: Oracle selber kennt z.B. das Zeichen @ überhaupt nicht.<br> Im MS-SQL Server ist es ein gängiges Zeichen für z.B. Procedureaufrufe usw. (glaube ich).<br>.
        Der MS-Orcale übersetzt diese Zeichen in das richtige Oracle Format!!<br>
        Der Oracle OleDb Treiber verlangt schon die richtige Oracle SQL Syntax.<br>
        Leider hält sich in diesem Fall MS nicht an die gängige SQL Sprache.<br>
        Wenn du mal ein verwendetes SQL Statement mitlieferst, kann ich dir evtl. mehr helfen.<br>
        Gruss Matthia

        Comment


        • #5
          Hi,

          Inwiefern klappt der Austausch der Datasetkomponenten nicht immer ?

          Kann es vielleicht sein, das die Fehler bei
          Datasets mit parametrisierten Queries auftauchen ?

          Müssen es denn überhaupt statische Feldern sein ? Sowohl Ereignishandler für Feldereignisse als auch bestimmte Display-Properties kann man auch im AfterOpen dynamisch setzen.

          Und was den MS Treiber angeht, habe ich den gleich als Schrott abgehakt ( mag aber auch daran liegen, dass ich in meinen Projekt von Anfang Transaktionen und Blobs gebraucht habe <g>)

          Bern

          Comment

          Working...
          X