![]() |
Datenbank: Firebird • Zugriff über: Delphi 7 Professional + Zeos-Lib.
Probleme mit SQL-Datentypen
Hallo allerseits,
Ich schreibe gerade ein Programm, mit welchem ich mehrere Tabellen mittels SQL für mySQL, MSSQL und Firebird anlegen möchte. Nach Möglichkeit möchte ich nur solche Datentype verwenden, welche auf allen drei Servern laufen. Nun habe ich Probleme mit folgenden SQL-Datentypen: DATE bzw. DATETIME: DATE läuft nicht auf MSSQL DATETIME läuft nicht auf Firebird Gibt es hier eine Alternative, welche auf allen 3 genannten Servern läuft? BOOL: läuft nicht auf MSSQL Welche Datentype kann man alternativ hier verwenden, die wieder auf allen 3 genannten Servern läuft? Für Hinweise wäre ich wieder sehr dankbar. mfg Herbert |
Re: Probleme mit SQL-Datentypen
Da gibt es nur wenige Möglichkeiten: du erfindest deine eigenen Datentypen und ersetzt diese zum Zeitpunkt
wenn die SQL Anweisung zur Anwendung kommen soll. z.B.
SQL-Code:
Die Dollarzeichen helfen dir beim ersetzen.
CREATE TABLE tabelle4711( datum $DATETIME$ NOT NULL)
Beim MS SQL kann man benutzerdefinierte Datentypen verwenden. Wenn du einen benutzerdefinierte Datentyp einmal verwendet hast, kannst du ihn nie mehr ändern!! |
Re: Probleme mit SQL-Datentypen
Zitat:
|
Re: Probleme mit SQL-Datentypen
Zitat:
der MS SQL Server kennt die Konstanten True und False nicht. Also müssen Bedingungen mit wert=0 sowie wert<>0 formuliert werden. |
Re: Probleme mit SQL-Datentypen
Gibt es eigentlich irgendwo eine Tabelle mit Gegenüberstellung der Datentypen der einzelnen Server?
Wo kann man überhaupt nachlesen, welche Datentypen welcher Server unterstützt? Ich finde da so nirgends eine befriedigende Antwort. Ansonsten danke schon mal für die Beiträge. Habe befürchtet, dass ich da noch so einiges ändern werde müssen. mfg Herbert |
Re: Probleme mit SQL-Datentypen
Wenn Du für mehrer DBMS-Systeme eine Anwendung schreiben willst, so solltest Du folgendes befolgen:
- Nur Basistypen wie String/Blob/Integer verwenden - Datumswerte in festen Format speichern (z.B. ISO-Datumsformat yyyy-mm-dd) - Boolwerte als varchar(1) oder int definieren und entsprechen False festlegen (z.B. '0' bzw. 0) |
Re: Probleme mit SQL-Datentypen
Um zu erfahren, was es an Felder gibt, kannst du ja alle 3 Tabellen mal erstellen, um zu sehen, was möglich ist. :thumb:
Und dann eine Übersicht erstellen. MfG freak |
Re: Probleme mit SQL-Datentypen
Zitat:
|
Re: Probleme mit SQL-Datentypen
Zitat:
Aber mich interessiert es sehr wohl welche DB dahinter steht. Wenn ich mehrere DB-Applikationen habe, will ich nicht auch noch mehrere DBs haben und administrieren. Mir kommt jedenfalls keine MS-SQL-DB ins haus. So hat jeder seine Vorlieben. Das soll jetzt aber keine Diskussion werden, welche DB die beste ist. MS-SQL sollte nur ein Beispiel sein. Eine gute, intensiv genutzte DB braucht einen eigenen Server (Hardware). Soll ich für jede DB-Applikation einen eigenen DB-Server einrichten? Hansa, bleib realistisch. |
Re: Probleme mit SQL-Datentypen
Tja, wer weiß. Mir wäre es zumindest wichtiger zu wissen, daß das Programm macht, was es soll und ich schnellen Support habe. Ausreden, daß ein Update länger dauert, weil der MySql Teil noch immer nicht funktioniert zählen eben nicht. Weil es keine Sau interessiert. Was ist MySql ? Bzw. wer weiß das bzw. hat nur den Namen schon mal gehört ? Jasocul, ich rede jetzt vom Enduser und nicht von einem Programmierer. Meine Philosophie ist es, besser etwas komplett 100 % richtig zu machen, als 10 Sachen nur zum Teil. Wenn es nun heißt, das Programm benutzt Oracle, dann ist das eben so. Ist das Programm gut, dann wird es gekauft. Mit Sicherheit allerdings eben nicht wegen Oracle oder MySql.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz