Announcement

Collapse
No announcement yet.

Umlaute in IB6

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

  • Umlaute in IB6

    Hallo
    ich habe IB6 installiert und die Datenbank über einen Skript erzeugt
    CREATE DATABASE "C:\QUARES.GDB" USER "SYSDBA" PASSWORD "masterkey";
    <br>
    CREATE GENERATOR ID; <br>
    SET GENERATOR ID TO 100; <br>

    CREATE TABLE BERECHTIGUNG ( <br>
    ID INTEGER NOT NULL PRIMARY KEY, <br>
    BEZ CHAR(30) Character set WIN1252 collate WIN1252, <br>
    USERS CHAR(8) Character set WIN1252 NOT NULL collate WIN1252, <br>
    LOGIN DATE DEFAULT "now" NOT NULL, <br>
    PASSWORT CHAR(30) Character set WIN1252 NOT NULL collate WIN1252); <br>

    COMMIT; <br>
    usw. <br>
    Wenn ich Daten direkt in die Tabelle über den Explorer eingebe kann ich Umlaute a-Umlaut,U-Umlaut und o-Umleit eingeben. <br>
    In meiner Anwendung wird dann auch richtig angezeigt. Wenn ich aber abspeichere kommt die Exception der Klasse EIBInterbaseError:arithmetic exception, numeric overflow, or string truncation. <br>

    Was mache ich falsch? <br>

    Gruss Rudi Terppe

  • #2
    Hallo,

    die Einstellungen zum Zeichensatz sowie die Einstellung der TIBDatabase-Instanz müssen übereinstimmen. Im Dialog für TIBDatabase sollte auch der Eintrag WIN1252 für den Zeichensatz ausgewählt werden:
    <pre>
    object IBDatabase1: TIBDatabase
    Connected = True
    DatabaseName = 'C:\Database\IB6\Neu6d3.gdb'
    Params.Strings = (
    'lc_ctype=WIN1252'
    'user_name=sysdba'
    'password=masterkey')
    LoginPrompt = False
    DefaultTransaction = IBTransaction1
    IdleTimer = 0
    SQLDialect = 3
    TraceFlags = []
    Left = 8
    Top = 8
    end
    </pre&gt

    Comment


    • #3
      Vielen Dank Herr Kosch<br>
      das war es lc_ctype=WIN1252<br>
      Mir fällt auf, dass Sie SQLDialect =3 verwenden<br>
      mir wurde gesagt, im Moment funtioniert nur 1? <br>

      Gruss
      Rudolf Terpp

      Comment


      • #4
        Hallo,

        die Beschränkung auf DIALECT 1 gilt nur für den Zugriffsweg über die BDE und damit auch für die Delphi-Tools <i>Datenbankoberfläche</i>, <i>SQL-Explorer</i> und <i>Data Pump</i>. Für die zusammen mit Delphi 5 ausgelieferten IBX-Komponenten gilt dies jedoch nicht, diese können auch DIALECT 3-Datenbanken ansprechen

        Comment


        • #5
          Bei mir hat diese Lösung allein nicht funktioniert, dh. ich musste noch die Eigenschaft TRANSLITERATE auf FALSE setzten.

          Mariu

          Comment

          Working...
          X