AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow
Thema durchsuchen
Ansicht
Themen-Optionen

FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow

Ein Thema von hoika · begonnen am 31. Jul 2012 · letzter Beitrag vom 2. Aug 2012
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow

  Alt 31. Jul 2012, 15:13
Datenbank: Firebird • Version: 2 • Zugriff über: egal
Hallo #,

beim Import fremder Daten (Inhalt liegt nicht in unserer Hand) habe ich folgendes Problem.
Den lange Bindestrich (Ord('-')=150) kann ich zwar in die DB packen.
Das Select bringt mir aber die vielbekannte "arithmetic exeption, buffer underrun".

Lösung: Das Zeichen ausfiltern und durch normale Bindestriche ersetzen.

Den Charset kann ich nicht ändern.

Was ich brächte wäre eine Funktion "Ersetze_Alle_Ungültigen_Zeichen_In_CharSetISO8859 _1_DurchLeerzeichen".

Wie kann ich da Vorgehen ?

Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow

  Alt 31. Jul 2012, 15:39
Da gibt es viele Möglichkeiten...
z.B. clientseitig beim Import die entsprechenden Zeichen ersetzen oder serverseitig über einen Trigger (BeforeInsert)...

Wenn ich die Tabelle bei Wikipedia richtig deute, müssten das die Zeichen 0-31, 127-159, >255 sein...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow

  Alt 31. Jul 2012, 16:11
Hallo,

Morphie, ja korrekt.
Das sind die Nummern, die ich auch herausgefunden habe.

Was ärgerlich ist, dass FB die Daten einträgt, aber nicht auslesen kann.


Heiko
Heiko
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#4

AW: FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow

  Alt 31. Jul 2012, 16:46
Bei mir klappt das grundsätzlich mit Firebird 2.5 in Database Workbench. Befinde mich in einer ISO8859_1 Datenbank und insertiere wie folgt:
Code:
insert into t1 (VC40) select ascii_char(150) from rdb$database
Nach einem SELECT auf diese Tabelle sehe ich den langen Bindestrich.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: FB: Charset ISO8859_1 Zeichen mit Code 150, arithmetic overflow

  Alt 2. Aug 2012, 19:03
Hallo Thomas,

unter FB 2.01 (Zugriff per IBDAC) geht es nicht.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz