AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL] In wie weit sind SQL Datenbanken kompatibel?
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] In wie weit sind SQL Datenbanken kompatibel?

Ein Thema von gsh · begonnen am 20. Feb 2007 · letzter Beitrag vom 21. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: [SQL] In wie weit sind SQL Datenbanken kompatibel?

  Alt 20. Feb 2007, 22:49
Zitat von alzaimar:
ich gebe Dir uneingeschränkt Recht, wenn es um wirklich performante Anwendungen geht. Für die hier angefragte Funktionalität (einfache Operationen,Open,Edit,Post) ...
Gibts noch mehr? Ah ja. Delete fehlt noch Nicht zu ernst sehen - 1/2 Flasche Rotwein

Zitat von alzaimar:
Die Schwächen von ADO kann man hier vernachlässigen. Der Vorteit: ADO ist eigentlich auf jedem PC drauf.
Na ja. Eigentlich nur für den MS-SQL-Server. Access wird von MS eh schon in die 2te-Reihe gestellt und der Oracle-Provider ist soweit ich beurteilen kann ein Witz. Dann schon lieber Zeos (Setzt ja bei MS SQL-Server auch auf ADO auf). DBExpress könnte nachdem Codegear mit Delphi 2007 endlich DBExpress und BDP vereint hat (muß es nicht CDP heißen ) auch ne gute alternative werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ice.icewing

Registriert seit: 10. Feb 2005
17 Beiträge
 
#12

Re: [SQL] In wie weit sind SQL Datenbanken kompatibel?

  Alt 21. Feb 2007, 13:05
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:
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;
(0=Oracle, 1=MySQL, 2=InterBase, 3=MSSQL)

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
J. Renner
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:53 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