Announcement

Collapse
No announcement yet.

Paradox DB: Datenmuell statt Umlaute

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

  • Paradox DB: Datenmuell statt Umlaute

    Hallo Leute,<br>
    ich habe eine sehr komplexe Abfrage mit mehreren LEFT OUTER JOIN.
    Dabei werden Umlaute als DatenMuell dargestellt. Teilweise wird auch der gesammte String verunstalltet dargestellt.
    In der Quell-DB stehen die Strings jedoch korreckt. Auch eine einfache direckte Abfrage der Quell-DB bringt ein korrektes Ergebnis.<pre>SELECT DISTINCT ArbText1
    FROM "MZettel.DB"
    ORDER BY ArbText1
    </pre>
    Woran könnte es also liegen, dass anstatt "ÄÖÜäöüÄÖÜäöü", "Ž™š„”Ž™š„”
    "
    ausgegeben wird?

    Gruss Stefan

  • #2
    Hallo,

    &gt;Woran könnte es also liegen,...

    die BDE muss über LOCAL SQL die SQL-Fähigkeit für Paradox-Tabellen <b>simulieren</b>, da Paradox keine SQL-Datenbank ist. Bei einem LEFT OUTER JOIN bleibt der BDE bei der Simulation nichts weiteres übrig, als <b>temporäre</b> Paradox-Tabellen neu anzulegen, um dort Zwischenergebnisse ablegen zu können. Und hier greift die BDE auf die Default-Einstellung für die Datenbankeigenschaften zurück, die über die <b>BDE-Verwaltung</b> für den Paradox-Treiber festgelegt wurden. Immer dann, wenn die konkrete Datenbank-Einstellung nicht mit der Default-Einstellung übereinstimmt, kann es daher zu diesem Datenmüll kommen

    Comment


    • #3
      Hallo Andreas,<br>
      ich habe jetzt in der BDE-Verwaltung <br>
      Konfiguration / Treiber / Nativ / Paradox / DangDriver und<br>
      Konfiguration / System / Init / DangDriver <br>
      entsprechend der Quell-Datei auf "Paradox 'intl'" eingestellt.<br>
      Danach BDE-Verwaltung gespeichert, geschlossen und mein Projekt <br>erneut compiliert. Eingestellt war übrigens "Pdox ANSI Intl".<br>
      Dennoch ist das Ergebnis das gleiche!?!<br>
      <br>
      ---
      <br>
      Ich habe noch mal nachgedacht! ;-)<br>
      Jetzt habe ich wieder in der BDE-Verwaltung alles rückgängig gemacht,
      und dafür meiner Tabelle den ANSI Sprachtreiber mitgegeben und siehe da, es läuft! <br>
      Ich mußte allerdings meine Daten erneut eingeben, was nicht das Problem war, da es sich derzeit nur zwei Datensätze in der Tabelle befanden.
      <br> Gibt es eine Tabelle die die Fähigkeiten der Sprachtreiber erklärt?
      <br>
      Gibt es eine Möglichkeit, falls man größere Datenmengen konvertieren muss, den Wechsel eines Sprachtreiber ohne Handarbeit zu automatisieren?
      <br><br>
      Gruss Stefan
      &#10

      Comment


      • #4
        Hallo,

        &gt;..den Wechsel eines Sprachtreiber ohne Handarbeit zu automatisieren?

        ja - die Einstellungen können wir aus dem eigenen Delphi-Programm heraus setzen (siehe TSession-Methoden <b>ModifyDriver</b> und <b>SaveConfigFile</b>). Es gibt dabei nur 2 grundsätzliche Probleme: <br>
        1. Die Einstellung gilt global für alle Anwendungen auf diesem Rechner <br>
        2. Eine Änderung wird nur dann berücksichtigt, wenn die letzte (!) Anwendung geschlossen wird, die auf die BDE (bei beliebigen Datenbanken) zurückgreift

        Comment

        Working...
        X