Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Unterschiede zwischen Classic Server und Embedded Server (https://www.delphipraxis.net/67371-unterschiede-zwischen-classic-server-und-embedded-server.html)

Codehunter 13. Apr 2006 19:38

Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS 6.1.5

Unterschiede zwischen Classic Server und Embedded Server
 
Hallo!

Ich habe in meiner Anwendung ein ganz einfaches System aus TZConnection und TZQuery. Dem TZQuery-SQL weise ich eine simple SQL-Anweisung zu:

INSERT INTO tablename (anyintfield) VALUES (1);

Dann kommt das TZQuery-ExecSQL. Bis dahin alles normal.

Wenn ich diese Anweisung über den Classic Server absetze, funktioniert das wunderbar. Doch sobald ich über den Embedded Server gehe, kracht es. Ich bekomme den Fehlercode 802: "arithmetic exception, numeric overflow, or string truncation Implementation of text subtype 53 not located".

Sowohl Classic Server als auch Embedded Server verwenden exakt die selbe .gdb-Datei. Ich habe überprüft, daß der Embedded Server exklusiven Zugriff hat (Classic Server aus). Andere Anweisungen wie z.B. DELETE FROM tablename WHERE foo=1 werden von beiden Servern ausgeführt. Insofern kann ich sagen daß beide prinzipiell Zugriff auf die DB haben.

Woran könnte das liegen?

mkinzler 13. Apr 2006 19:46

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Versuch mal die fbintl.dll zusätzlich zur fbclient.dll(fbembedded.dll) ins Programmverzeichnis zu legen. Darin befinden sich die Definitionen zu den Chasets.

Codehunter 13. Apr 2006 20:07

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Leider nein, hat nichts geändert.

mkinzler 13. Apr 2006 20:10

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Komsich ist auch, das der Fehler mit dem Feld, welches in deiner Abfrage vorkommt, nichts zu tun hat. hat die Tabelle noch mehr Felder?

Codehunter 13. Apr 2006 20:18

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Ja hat noch mehr Felder. Unterschiedliche Typen und alle mit Default-Vorgabe. Hab die DDL mal unten angefügt.

Könnte es sein daß der Embedded Server an einem der Default-Werte scheitert? Doof nur daß er nicht sagt in welcher Spalte es kracht. So kann man nur raten.

SQL-Code:
CREATE TABLE PRODUCTS (
    PRODUCTS_ID TINT11 NOT NULL,
    PRODUCTS_QUANTITY TINT4 DEFAULT 1,
    PRODUCTS_SHIPPINGTIME TINT4 DEFAULT 1,
    PRODUCTS_MODEL TSTR64 DEFAULT '',
    GROUP_IDS TSTR255 DEFAULT '',
    PRODUCTS_SORT TINT4 DEFAULT 9999,
    PRODUCTS_IMAGE TSTR64 DEFAULT 'notfound.png',
    PRODUCTS_PRICE TPRICE DEFAULT 0,
    PRODUCTS_DISCOUNT_ALLOWED TSMALLPRECISION DEFAULT      0,
    PRODUCTS_DATE_ADDED TDATETIME DEFAULT '01.01.1979',
    PRODUCTS_LAST_MODIFIED TDATETIME DEFAULT '01.01.1979',
    PRODUCTS_DATE_AVAILABLE TDATETIME DEFAULT '01.01.1979',
    PRODUCTS_WEIGHT TWEIGHT DEFAULT 0,
    PRODUCTS_STATUS TINT1 DEFAULT 1,
    PRODUCTS_TAX_CLASS_ID TINT11 DEFAULT 1,
    PRODUCT_TEMPLATE TSTR64 DEFAULT 'default',
    OPTIONS_TEMPLATE TSTR64 DEFAULT 'default',
    MANUFACTURERS_ID TINT11 DEFAULT 0,
    PRODUCTS_ORDERED TINT11 DEFAULT           0,
    PRODUCTS_FSK18 TINT1 DEFAULT 0,
    LANGUAGE_ID TINT11 DEFAULT 2,
    PRODUCTS_NAME TSTR64 DEFAULT 'No product name defined',
    PRODUCTS_DESCRIPTION TLONGSTRING DEFAULT 'No product description defined',
    PRODUCTS_SHORT_DESCRIPTION TLONGSTRING DEFAULT 'No product description defined',
    PRODUCTS_META_TITLE TLONGSTRING DEFAULT 'No product name defined',
    PRODUCTS_META_DESCRIPTION TLONGSTRING DEFAULT 'No product description defined',
    PRODUCTS_META_KEYWORDS TLONGSTRING DEFAULT 'No product keywords defined',
    PRODUCTS_URL TSTR255 DEFAULT '',
    PRODUCTS_VIEWED TINT5 DEFAULT 0);

mkinzler 13. Apr 2006 20:20

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Gibt es Felder mit besonderen Textformaten?

Codehunter 13. Apr 2006 20:25

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Alle String-Domains sind Zeichensatz WIN1252 und Kollation WIN1252.

mkinzler 13. Apr 2006 20:31

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Kannst du mir die Metadaten mit Standard-Typen einstellen, daß ich Testen kann ohne das Skript per Hand azupassen.

Codehunter 13. Apr 2006 20:37

Re: Unterschiede zwischen Classic Server und Embedded Server
 
In der beigefügten ZIP ist die ganze Testdatenbank. Sind keine vertraulichen Daten drin, kannste also alles anschauen :)

EDIT: Datei entfernt weil Thema beendet.

Codehunter 13. Apr 2006 20:46

Re: Unterschiede zwischen Classic Server und Embedded Server
 
Danke Dir, hat sich inzwischen von allein erledigt. Ich hab mir die letzte Version vom Embedded Server runtergeladen und die Ordnerstruktur aus dieser ZIP genauso ins Projektverzeichnis übernommen. Damit gehts anstandslos. Scheinbar hatte ich eine fehlerhafte Version vom Embedded Server drauf.

Seltsamerweise scheinen beide DLL's die selbe Versionsnummer zu haben (1.5.3.4870) wobei die neuere jedoch kleiner ist (1,4 MB gegenüber 1,9 MB bei der alten Version).

Nochmals Danke für deine Mühe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 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