Announcement

Collapse
No announcement yet.

Interbase 6: Excel-Werte in Interbase importieren

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

  • Interbase 6: Excel-Werte in Interbase importieren

    Hallo,

    Ueber den Excel-ODCB-Treiber habe ich eine Excel Tabelle in meine Anwendung eingebunden. Werte werden auch angezeigt. Das erste Problem liegt bei der Navigation zwischen den Datensätzen. Drücke ich auf Last (table.last) und dann gleich wieder auf First (table.first) wird folgender Fehler angezeigt: "Ungültiges BLOB-Handle im Datensatzpuffer.". Im Weiteren wollte ich die Werte der Excel-Tabelle mittels einer Schleife in eine Interbase6-Datenbank übernehmen. Insgesamt befinden sich 486 Datensätze in der Excel-Tabelle. Die ersten 3 Datensätze werden ohne Probleme übernommen. Beim Vierten kommt dieses: "arithmetic exc eption, numeric overflow, or string truncation. Cannot transliterate character between character sets."
    Der Quelltext in Delphi5:
    procedure Tfrm_Haupt.btn_TransportClick(Sender: TObject);
    begin
    exc_Table.First;
    int_Table.EmptyTable;
    while not exc_Table.Eof do begin
    int_Table.Insert;
    int_Table.FieldByName ('Vid').asinteger := exc_Table.FieldByName
    ('Vid').asinteger;
    int_Table.FieldByName ('Strasse').asstring := exc_Table.fieldByName
    ('Strasse').asstring;
    exc_Table.Next;
    int_Table.Post;
    end;
    end;

    Ich arbeite mit einem WindowsXP-Rechner.

    Ich würde mich freuen, wenn einer von euch mir helfen könnte.

    Danke
    Roc

  • #2
    Hallo,

    >...Beim Vierten kommt dieses: "arithmetic exc eption....

    wie sieht der Inhalt der Spalte <i>Strasse</i> zu diesem Zeitpunkt aus - kommen dort Umlaute oder Sonderzeichen vor? Welchen Zeichensatz verwendet die InterBase-Datenbank bzw. die Spalte <i>Strasse</i> in der InterBase-Tabelle? Ist die Spalte <i>Strasse</i> der InterBase-Tabelle gross genug? Liegt ein Index auf dieser Spalte der InterBase-Tabelle

    Comment


    • #3
      Sehr geehrter Herr Kosch,

      zu Ihren Fragen:

      Ich arbeite mit <B>Interbase6</B> -> <B>SQL-Dialect 3</B>, <B>Charset Win 1250</B>.
      Umlaute kommen in dem Stringfeld "Strasse" vor. Die Spalte "Strasse" ist gross genug (varchar(40)). In der gesamten Tabelle gibt es ein Index: den Primärschlüssel auf Spalte "Vid" (integer).
      Hier noch einige Hinweise: Die ersten 3 Datensätze werden wie gesagt problemlos übernommen. Beim Vierten Datensatz werden laut Debuggerinformationen die Werte für die Interbase-Felder exakt übergeben. Beim <B>Posten</B> bringt er dann aber die Fehlermeldung. Meiner Meinung nach gibt es Probleme bei der Uebernahme der String-Felder, denn wenn nur die Integer-Felder uebernommen werden, gibt es keine Fehlermeldung.
      Auf einem anderen Rechner (<B>Delphi5, Interbase5</B>) funktioniert merkwuerdigerweise alles problemlos.

      Mit freundlichen Gruessen

      Ro

      Comment

      Working...
      X