Autor Beitrag
Herby99
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 09.10.07 13:04 
Hallo zusammen,

Ein Teil einer Anwendung soll neu programmiert werden und MS SQL 2005 Express als DB-Backend dienen. Die Komponente war bislang mit dem Verbund VB+ODBC+SQL programmiert. Der neue Teil soll nun von Anfang an so performant wie möglich arbeiten, d.h. Zugriffe auf den SQL-Server sollten möglichst direkt erfolgen (ODBC möglichst schonmal raus).

Nun gibt es, wie ich auf die Schnelle herausgefunden habe, neben diversen kommerziellen Lösungen, verschiedene Komponenten, um das mit Delphi zu realisieren: das MDAC 2.8 SP1 (mit den dbGo Komponenten aus Delphi dann zusammen), AnyDAC oder auch ZeosLib. Bei den beiden letztgenannten bin ich mir aber nicht sicher, ob da nicht doch ODBC zwischendrin benutzen?

Habe diese 3 Möglichkeiten mal kurz getestet, am einfachsten erscheint es mir doch mit den ADO-Komponenten von Delphi selbst.

Meine Frage wäre, inwiefern es noch zeitgemäß ist, dieses Problem mit ADO zu bewältigen? Sind andere Anbindungen/Komponenten performanter? Welche besonderen Vorteile würde ADO.NET bieten? Wie sieht es mit Vista-Verträglichkeit aus? Angeblich sollen die Komponenten MDAC 2.8 SP1 bei WinXP und Windows DAC 6.0 bei Vista ja gleich sein - bedeutet dies gleichzeitig, dass eine unter WinXP entwickelte Anwendung bzgl. dieser Komponenten auch funktioniert?

Gruß,
Jan
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Mi 10.10.07 07:36 
Moin Namensvetter,

das schnellste, was ich mit einem SQL 2000 Server kennen gelernt habe ist OLE-DDE, gibts aber nicht für Delphi. Aus meinen Erfahrungen kommt es weniger auf die Schnittstelle an, als auf die Struktur des Programmablaufs. Dabei kann man sehr viel schneller Performance einbüßen. ADO ist aus meiner Sicht beim SQL-Server immer eine Überlegung wert, da beides ja auch von MS kommt und zumindest zum Teil aufeinander abgestimmt ist. Wie weit das unter Vista läuft, kann ich dir aber nicht sagen und wie die anderen Schnittstellen sich verhalten auch nicht :(

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mi 10.10.07 08:13 
Wie user profile iconene schon gesagt hat, solltest Du dir zunächst Gedanken über das DB-Design sowie Indexe und Abfragen machen. Ein falsches Design bzw. fehlende (oder zuviele!) Indexe sind die primären Performancebremsen.

Wenn es um en paar Millisekunden geht, dann mag die DB-Bridge (ADO, ODBC o.ä.) eine Rolle spielen, aber sonst nicht.

_________________
Na denn, dann. Bis dann, denn.
Herby99 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 10.10.07 09:06 
Danke erstmal für eure Antworten!

Natürlich wird auch viel Grips in das Datenbankmodell selbst gesteckt (das ist auch schon recht weit gediegen) - meine Frage zielte auch eher darauf hinaus, welche Stolperfallen es geben könnte (vor allem die Vista-Problematik), wenn man sich auf auf eine Anbindungskomponente festlegt.

Welche Vorteile bieten eigentlich AnyDAC oder ZeosLib bei MSSQL, wenn man mit ADO schon quasi alles hat?

Gruß,
Jan