![]() |
Re: [SQL] In wie weit sind SQL Datenbanken kompatibel?
Zitat:
Zitat:
|
Re: [SQL] In wie weit sind SQL Datenbanken kompatibel?
Die Systeme unterscheiden sich schon ganz ordentlich. Besonders aufgefallen ist mir das bei Feldern die mit Datum und Uhrzeit zu tun haben. Hier blos mal der Anweisungsausschnitt für insert in ein DateTimefeld.
Delphi-Quellcode:
(0=Oracle, 1=MySQL, 2=InterBase, 3=MSSQL)
case RG1.ItemIndex of
0 : TempString:=TempString+'To_Date(' + QUOTE + FormatDateTime('YYYY-M-D h:nn:ss', Fields[J].AsDateTime) + QUOTE + ', ' + QUOTE + 'YYYY-MM-dd HH24:MI:SS' + QUOTE + ')'; 1,2 : TempString:=TempString+QUOTE+AnsiDateTimeToStr(Fields[J].AsDateTime,True)+QUOTE; 3 : TempString:=TempString+QUOTE+FormatDateTime('D.M.YYYY h:nn:ss', Fields[J].AsDateTime)+QUOTE; end; Weitere Unteschiede sind die Datentypen. Das ist aber vor allem bei Createanweisungen interessant. Der Umgang mit Autocommit ist verschieden. Bei MSSQL standardmässig an und man macht "Begin Transaction" wenn man es mal nicht will. Bei MySQL sagt man "Set Autocommit = 0" Auch Autoincrement wird ganz verschieden gehandhabt. Bei Oracle mit Sequence und Trigger ,bei Interbase mit Generator und Trigger, bei MySQL mit AUTO_INCREMENT und bei MSSQL mit IDENTITY. Und verhalten tun sie sich auch noch unterschiedlich. Da PlugIn und DLL ja schon da also würde ich vom Einsatz eines (jedenfalls für mich) komplizierten Bridge Pattern absehen. Die SQL-Anweisungen solltest du aber jeweils in deinem Plugin aus entsprechenden Übergabeparametern zusammenbauen. Wenn du eine geniale Lösung findest lass es mich wissen. icewing |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 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