Socke hat geschrieben: Di 4. Mai 2021, 10:47
Die Quelltexte sind aber halbwegs gut zu lesen.
Für mich nicht ganz sooo leicht
So...ich hab es dank der Tips von Socke erstaunlicherweise hin gebracht.
Meine Lösung/Erkenntnisse für den geneigten Suchenden festgehalten:
- Der Gamechanger war die Information dass die Units der SQL-Verbindungstypen die man unterstützen will/muss in der uses-Klausel vorkommen müssen.
reicht nicht
da muss zb für SQLite eingebunden werden.
Und es reicht das Erwähnen in der Uses-Klausel. Sonst wird eine Fehlermeldung erscheinen mit irgendwas wie
"SQLite3 Connection nicht gefunden" was ich fälschlicherweise so interpretiert habe dass der ConnectionType
"SQLite3" unbekannt wäre. Tatsächlich scheint wirklich die TSQLite3Connection gemeint zu sein.
Die zweite wichtige Info war die Reihenfolge in der die Klassen geöffnet werden müssen.
Zuerst dem TLDBLibraryLoader den Pfad zur DLL und den Connectortyp zuweisen, dann quasi Einschalten
Code: Alles auswählen
myLibLoader:TLDBLibraryLoader;
myConnector:TSQLConnector;
myTransaction:TSQLTransaction;
myQuery:TSQLQuery;
myLibLoader:TSQLDBLibraryLoader;
....
....
......//Im Create des Objektes:
myConnector:= TSQLConnector.Create(nil);
myTransaction:=TSQLTransaction.Create(nil);
myQuery:= TSQLQuery.Create(nil);
myLibLoader:=TSQLDBLibraryLoader.create(nil);
//Verbindungen der Objekte herstellen
myConnector.Transaction:=FSQLTransaction;
myQuery.Database:=FSQLConnector;
....
//Dll laden
myLibLoader.Enabled:=false; //löst intern ein UnloadLibrary aus.
myLibLoader.LibraryName:='<Pfad zur DLL samt dll Name>';
myLibLoader.ConnectionType:='SQLite3'; //exemplarisch für SQLite
myLibLoader.Enabled:=true; //löst intern ein LoadLibrary aus.
//erst danach Verbindung zur Datenbank aufbauen
// TSQLDBConnector je nach Datenbank Attribute zuweisen
// wie username, Datenbankname ,passwort, Connectiontype etc etc..
//danach
myConnector.Open;
....
//um Daten auszulesen
myQuery.SQL.Text:='select xy from xyTablename';
myQuery.Open;
Danke für eure Hilfe - case closed