AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird: Character conversion fehler bei CREATE TABLE?
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird: Character conversion fehler bei CREATE TABLE?

Ein Thema von blackfin · begonnen am 11. Jun 2010 · letzter Beitrag vom 14. Jun 2010
Antwort Antwort
blackfin
(Gast)

n/a Beiträge
 
#1

Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 11. Jun 2010, 10:32
Datenbank: Firebird • Version: 2.1.3 embedded • Zugriff über: ZEOS
Hallo liebe Experten,

jetzt habe ich das erste mal ein Problem mit dem Firebird.

Er hat bei einem Kunden folgende Fehlermeldung ausgespuckt:

Code:
arithmetic exception, numeric overflow, or string truncation Cannot
transliterate character between character sets At trigger 'RDB$TRIGGER_4'
The SQL: CREATE TABLE "EHXLOGTABLE" (AUTOID INTEGER NOT NULL PRIMARY KEY);
Diese Fehlermeldung finde ich verwirrend und kann damit ehrlich gesagt wenig anfangen.
Sie besagt ja, dass sie ein Zeichen nicht konvertieren konnte, aber bei DIESEM Statement?
Es wird ja nur ein Table erzeugt mit einem ID-Feld und es kommt gar keine Character Conversion in Frage, der Benutzer kann zu diesem Zeitpunkt also auch nichts eingegeben haben.
RDB$TRIGGER_4 ist nichts anderes als eine AutoIncrement-Emulation über einen Generator:

SQL-Code:
SET TERM ^ ;

CREATE TRIGGER BI_EHXLOGTABLE_AUTOID FOR EHXLOGTABLE
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
  IF (NEW.AUTOID IS NULL) THEN
      NEW.AUTOID = GEN_ID(EHXLOGTABLE_AUTOID_GEN, 1);
END^

SET TERM ; ^

Das weitere "Problem" ist, dass dieses Statement bisher immer funktioniert hat (auf anderen Rechnern).


Ist das eventuell eine beschädigte Datenbank oder woran kann das noch liegen?
Wie gesagt, das ist das erste Mal, dass ich vom Firebird eine derart "merkwürdige" Fehlermeldung bekomme, die, meiner Meinung nach, in diesem Fall keinen wirklichen Sinn macht.

Die Datenbank ist komplett UTF-8, Dialect 3.
Firebird ist die Version 2.1.3 embedded.
Komponenten sind ZEOS.

Geändert von mkinzler (11. Jun 2010 um 10:35 Uhr) Grund: CODE-Tag um SQL ergänzt
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#2

AW: Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 11. Jun 2010, 17:45
Nachdem anscheinend niemand etwas gescheites dazu zu sagen hat, meine Meinung (auch wenn ich mit Firebird auch gerade erst meine ersten Erfahrungen sammle).

1. Hat genau diese Query früher schon einmal mit Sicherheit funktioniert?
2. Hast Du versucht, die Query mit Cut and paste in einer anderen Datenbank mit der gleichen Struktur abzusetzen? Hat das dort funktioniert?

Die Antwort auf diese Fragen gibt Dir vielleicht einen Hinweis darauf, ob vielleicht wirklich die Datenbank irgendwo beschädigt ist. Was ich von anderen Systemen durchaus kenne, ist, dass ein tatsächlicher Fehler sich hinter einer schwachsinnigen Fehlermeldung verbirgt, von der man absolut nicht auf die wirkliche Fehlerursache schliessen kann.
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#3

AW: Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 14. Jun 2010, 10:28
Hallo Idefix:

1) Ja, und zwar nicht nur einmal, die Software ist ca. ein halbes Jahr schon im Einsatz und es gab da noch nie Probleme mit.
Die Query wird beim ersten Start ausgeführt, da wird der Table eben angelegt.

2) Ja, auch das habe ich getestet. Funktioniert einwandfrei.

Ich denke mal, dass es eine beschädigte Datenbank ist und werde dem Kunden mal sagen, er soll sie mir doch bitte mal herschicken

Danke für die Antwort!
  Mit Zitat antworten Zitat
hoika

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

AW: Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 14. Jun 2010, 11:01
Hallo,

warum wird "EHXLOGTABLE" in Hochkommas geschrieben ?

OK, das ist nicht die Ursache,
würde mich aber doch schon interessieren.


Heiko
Heiko
  Mit Zitat antworten Zitat
Andreas Schilling

Registriert seit: 6. Sep 2006
106 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 14. Jun 2010, 11:32
Läuft es da wo es funktioniert unter einer älteren Firebirdversion? Ich hatte in etwa den gleichen Fehler beim ersten Verwenden der Version 2.1.1. Der Fehler trat auf bei der Datenbankabfrage ob eine Procedure existiert. Ursache: der Zeichensatz der Tabelle rdb$procedures (Unicode_FSS). Lösung: bei der Datenbankabfrage greife ich jetzt mit einer Datenbankverbindung auf die Systemtabelle zu, bei der der Zeichensatz Unicode_FSS ist.

Gruß Andreas.

PS: Obwohl der Zeichesatz wahrscheinlich schon immer Unicode_FSS war, macht sich das erst ab Version 2.1.* bemerkbar.
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 14. Jun 2010, 11:38
Der Frage von Heiko bringt mich auf eine Idee: Beim Umgang mit Firebird 2.1. aus dem IBExpert heraus ist es mir am Anfang öfter passiert, dass ich irgendwelche Strings in " (Doppelhochkomma) geschrieben habe. Das gibt dann regelmässig Fehler, irgendwie legt er Wert auf ' (Einfach) - ersetzte ich die, funktionierten die Kommandos auch bei FB2.1.
Carsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Firebird: Character conversion fehler bei CREATE TABLE?

  Alt 14. Jun 2010, 11:45
" bewirkt ein Unterscheidung von Groß-/Kleinschreibung der Feldnamen

select * from Name; ist normalerweise gleichbedeutend mit select * from NAME; Wurde aber bei der Anlage "Name" angegeben muss auch bei der Abfrage "Name" verwendet werden
Markus Kinzler
  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 20:02 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