Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas? (https://www.delphipraxis.net/199264-ms-sql-wechsel-von-ado-zu-sdac-unidac-oder-sonstwas.html)

Bbommel 10. Jan 2019 10:12

Datenbank: MS SQL • Version: 2008 und neuer • Zugriff über: ADO, SDAC

MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Hi zusammen,

seit Jahren greife ich mittels ADO recht problemlos auf MS SQL-Datenbanken zu (TADOConnection, TADOQuery). Einsatzzweck ist dabei im Wesentlichen der Import und tw. Export von größeren Datenmengen von und in diverse ERP-Systeme.

Nun möchte ich wesentliche Bestandteile des Codes zukünftrig aber auch für eine Linux-Anwendung benutzen können und ein großes Hindernis ist dabei im Moment noch die Nutzung von ADO. Eine andere Datenbankkomponente soll also her. Neben der Anforderung, dass sie also betriebssystem-unabhängig funktionieren muss, soll es auch (wie bisher) so sein, dass beim Benutzer der bisherigen Windows-Anwendung nicht noch irgendwelche anderen Bibliotheken installiert werden müssen, das Programm soll also weiterhin "einfach so" funktionieren. Wegen der erwähnten Datenmengen wäre eine gute Performance bei solchen Operationen auch gut. Perspektivisch wäre es ideal, wenn die Komponente auch mit einer Datenbank in der Cloud (also diesem Azure-DB-Zeugs, weiß gerade den tollen Markennamen nicht ;-) ) umgehen könnte.

Da ich bisher für eine Anbidnung an Postgres schon eine Lizenz für pgDAC habe, wäre es jetzt für mich naheliegend, auch für die MS SQL-Anbidnung auf DevArt zu setzen. Das müsste doch passen, oder? Vielleicht folgende konkrete Fragen dazu:
  • Preislich würde es sinnvoll sein, anstelle von SDAC und pgDAC dann UniDAC zu kaufen - gibt es da wesentliche technische Unterschiede?
  • Kann SDAC oder UniDAC mit Azure SQL umgehen, hat da jemand Erfahrungen?
  • Gäbe es eine sinnvolle Alternative, z.B. FireDAC? Da müsste man auf jedem Client irgendwelche Datenbankbibliotheken installieren, wenn ich das richtig sehe, oder?

Danke fürs Lesen, freue mich auf eure Antworten. :-)

mkinzler 10. Jan 2019 10:21

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Vorteil von DevArt ist die Möglichkeit ohne den "Client" vom Hersteller zu funktionieren.

Wenn Du schon pgDAC hast würde ich zu UniDAC raten. SDAC/pgDAC dienen dann als Provider für UniDAC.

rokli 10. Jan 2019 12:10

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Hallo,

nach der BDE habe ich auch ADO verwendet - meistens erfolgreich, manchmal mit Problemen.

Dann bin ich zu FireDAC gewechselt und bin sehr gut zufrieden.

Von DevArt hab ich mir UniDAC auch angesehen - es ist m. E. dem FireDAC ähnlich und auch sicher sehr gut (weiß ich u. a. von einem VS Programmierer, der viel mit den DevArt Komponenten erledigen DB, GRID etc.). Und von der Preispolitik (Delphi ohne FireDAC bei Prof Version) ist das für meine Begriffe auch interessant.

mkinzler 10. Jan 2019 12:33

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
FireDAC ist eine "Abspaltung" vom Vorgänger von DevArt.

jsheyer 10. Jan 2019 12:42

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
FireDAC ist doch das ehemalige AnyDAC was nicht von DevArt war/ist oder irre ich mich da??

mkinzler 10. Jan 2019 12:51

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Der Entwickler von AnyDAC war ein Entwickler bei CoreLabs (heute DevArt) und hat nach seinen Abschied DA-Soft gegründet.

p80286 10. Jan 2019 12:59

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Nach deiner Beschreibung sollte eigentlich nur ADO.Query.xx durch NeueKomponente.query.xx ersetzt werden.
Gut auch die Connection, aber da wahrscheinlich nur eine Procedure betroffen. Wäre es da niht vollkommen egal welche du nutzt? Du müßtest Keine Rücksicht auf DBGrid und Konsorten nehmen, ich würde da keine OneForAll-Komponente nuzen.

Gruß
K-H

Schokohase 10. Jan 2019 13:06

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Wenn man da jetzt eh dran rum bauen muss, dann sollte man auch die Chance nutzen und es gleich vernünftig umbauen.

Keine direkten Abhängigkeiten mehr von den Zugriffskomponenten.
(scheint selbst 2019 keine Selbstverständlichkeit zu sein)

Bbommel 10. Jan 2019 13:42

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Danke für eure bisherigen Rückmeldungen.

Weil ja doch hier und da mal FireDAC erwähnt wurde: mit einer Enterprise-Lizenz wäre es ja auch kein Problem, das einzusetzen. Aber wenn ich das bei einem ersten (allerdings relativ schnellen) Test richtig gesehen habe, setzt FireDAC ja irgendwelche Client-Komponenten voraus, die man vorher installieren müsste, richtig? Das wäre für mich schon ein recht starkes Argument für DevArt.

@p80286: Genau, es gibt keine Abhängigkeiten zu irgendwelchen visuellen Komponenten, insofern ist es tatsächlich relativ egal - aber trotzdem muss ich mich ja letztlich für eine bestimmte Komponente entscheiden. :-)

@Schokohase: Ich hätte wetten können, dass von irgendwem dieser Hinweis kommt. :-) ;-) Ja, viele Import-Routinen von mir sind schon mit einer neutralen Importer-Klasse umgesetzt und dort ist die Ergänzung einer weiteren oder der Austausch einer existierenden DB-Komponente natürlich besonders leicht. Die übrigen Import-Routinen, die bisher noch direkt über die ADOQuery zugreifen, würde ich bei dieser Gelegenheit wahrscheinlich auch entsprechend umbauen - wäre dann jetzt etwas mehr Arbeit, hat sich aber den existierenden umgestellten Routinen schon mehrfach gelohnt. Aber letztlich war das ja nicht die Kernfrage, sondern die Suche nach der Komponente, die letztlich den eigentlichen Zugriff machen soll. :-)

MyRealName 10. Jan 2019 13:51

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Zu deiner Frage mit Azure, UniDAC kann das wohl laut Webseite. SDAC sicherlich nicht.
Ich nutze seit Jahren UniDAC und bin sehr zufrieden, Performance mässig sollen die wohl die Besten sein.

Schokohase 10. Jan 2019 13:54

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Nun ja, zum Thema FireDAC, Enterprise, auf eine Komponente muss man sich einigen ...

Dazu hätte ich ein entschiedenes Nein.

FireDAC ohne Enterprise kann nur mit lokalen Datenbanken arbeiten. Gut, dann bauen wir einen REST-Server (z.B. mit MARS) der dann auf der gleichen Maschine läuft wie der Datenbank-Server (und schon ist der lokal und erreichbar).

Wenn ich mit dem Importer mit einem REST-Server sprechen möchte, dann brauche ich natürlich etwas anderes als wenn ich mit der Datenbank direkt spreche. Darum baut man das auch abstrakt und implementiert mit dem Zugriffs-Framework was einem in den Sinn kommt, oder man sich leisten kann oder welches da am besten ist.

Bbommel 10. Jan 2019 14:09

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Zitat:

Zitat von Schokohase (Beitrag 1423055)
Nun ja, zum Thema FireDAC, Enterprise, auf eine Komponente muss man sich einigen ...

Dazu hätte ich ein entschiedenes Nein.

Hmja. Wie abstrakt man auch immer irgendwelche Import-Geschichten macht, ob nun selbst gebastelt oder auch noch ein Framework dazu gekauft. Am Ende steht irgendwann die Komponente, die den eigentlichen Zugriff auf den MS SQL-Server machen soll.

Also: doch, auf irgendeine Komponente muss man sich da festlegen. Und die ist gesucht.

MyRealName 10. Jan 2019 14:30

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
UniDAC geht auch auf Lazarus und Linux (und natürlich Android, iOS, MacOS), da bist zumindest von den Platformen her offen. Und wie schon gesagt, sind wohl die schnellsten :) Darauf kommt es ja beim import/export an. Wenn Du SDAC nimmst, dann bist von den Komponenten her auf MS SQL Server festgelegt und es gibt keine Azure Anbindung wie bei UniDAC. Und Geschwindigkeit ist wohl die gleiche, da UniDAC den code von SDac nutzt für seinen Provider

rokli 10. Jan 2019 15:59

AW: MS SQL: Wechsel von ADO zu SDAC, UniDAC oder sonstwas?
 
Ich benötige keine weiteren Client Kompos, wenn ich eine Software auf einem Ziel-System installiere.
Bei mir wird alles ins Ekxe kompiliert.


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