Announcement

Collapse
No announcement yet.

Problem mit Interbase Typ-Casting und Umlauten

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

  • Problem mit Interbase Typ-Casting und Umlauten

    select integerfeld || varcharfeld from tabelle

    oder auch select cast(integerfeld as character) || varcharfeld

    liefert nur solange Datensätze wie im Varcharfeld keine deutschen Umlaute
    vorhanden sind. Sobald dies der Fall ist, hört der Select auf und liefert keine Zeilen weiter.

    Die Datenbank verwendet DEFAULT CHARACTER SET ISO8859_1;

    Wer weiß was das ist????? Ein Bug? Oder ein Feature? Oder mein Fehler?

    Danke und Gruß Kai

  • #2
    Hallo Kai,

    ich habe auch so meine liebe mühe mit dem cast Operator. Kann es sein das das Integerfeld zufällig NULL-Werte enthält? Verbinde doch die Felder erst im Programm! Interbase hat so seine Probleme mit Umlauten z.B. funktioniert auch der Upper befehl nicht mit Umlauten.

    mfg Carste

    Comment


    • #3
      Hi Carsten,

      nein, das Intergerfeld ist Primary Key der Tabelle und somit nie null.

      Im Programm würde ich es gerne tun, geht aber leider in dem Fall nicht.

      Aber nach einigem Probieren habe ich ein Workaround mit einem leeren Dummystring gefunden:

      select '' || integerfeld || varcharfeld from tabelle

      So funktioniert es dann doch!!! Scheint also ein Bug in Interbase zu seinb. Das mit Upper ist mir auch schon aufgefallen. :-(

      Gibt es evtl. eine bessere Zeichentabelle oder einen anderen Zeichensatz, mit dem es besser klappt?

      Ka

      Comment


      • #4
        Hallo Kai,

        eine Möglichkeit währe noch die Felder innerhalb einer UDF zu verketten. Daran so mal gedacht?

        mfg Carste

        Comment


        • #5
          Hallo Carsten,

          Klar, wenn man von Oracle verwöhnt ist, geht einem der magere Funktionsumfang von Interbase schnell auf die Nerven :-(
          umd man würde ihn gerne erweitern.

          Hast Du so etwas schonmal gemacht? Kann ich die Funktion in Delphi als DLL schreiben? Wohin muß die DLL gelegt werden....?

          Gruß Ka

          Comment


          • #6
            >>
            liefert nur solange Datensätze wie im Varcharfeld keine deutschen Umlaute vorhanden sind. Sobald dies der Fall ist, hört der Select auf und liefert keine Zeilen weiter.
            Die Datenbank verwendet DEFAULT CHARACTER SET ISO8859_1;
            Wer weiß was das ist????? Ein Bug? Oder ein Feature? Oder mein Fehler?
            <<

            Womit greift Du denn zu. WISQL, BDE, Delphi. Bei WISQL unter Optionen die Sprache auch auf ISO8859_1 stellen, für die BDE blltde01 als Sprachtreiber verwenden. Dann gibr es eigentlich keine Probleme.

            Die DLL mit den UDF muß in Window\Sytstem oder InterBase\bin damit der Server sie findet. Ansonsten ist das problemlos, dürfte aber dein Umlautproblem nicht lösen

            Comment


            • #7
              Es ist egal, ob mit BDE(Delphi) oder direkt mit Interbase, außer daß die BDE noch eine Fehlermeldung ausgibt, während ISQ einfach kommentarlos beim Lesen abbricht.

              Den Sprachtreiber verwende ich ohnehin schon, bringt leider nix.

              Gruß Ka

              Comment


              • #8
                <p> &gt&gt Es ist egal, ob mit BDE(Delphi) oder direkt mit Interbase, außer daß die BDE noch eine Fehlermeldung ausgibt, während ISQ einfach kommentarlos beim Lesen abbricht. </p>

                Hast Du bei WISQL Set Names ISO8859_1 gesetzt? ggf schicke mir mal an die Mailadresse eine Datensicherung Deiner Datenbank, dann kann ich mal kurz schauen.

                Andrea

                Comment


                • #9
                  Hallo Andreas,

                  das mach ich gerne - aber wie ist Deine e-mail-Adresse?

                  Gruß Kai

                  Comment


                  • #10
                    Ups, ich dachte die steht in den persönlichen Daten. Muß ich wohl noch nachholen.

                    [email protected]

                    sollte helfen

                    Comment

                    Working...
                    X