AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firedac Query fetch all

Ein Thema von MES · begonnen am 9. Okt 2017 · letzter Beitrag vom 13. Okt 2017
Antwort Antwort
Seite 2 von 2     12   
bnreimer42

Registriert seit: 26. Mai 2013
Ort: Erlangen, Franken
126 Beiträge
 
Delphi 12 Athens
 
#11

AW: Firedac Query fetch all

  Alt 10. Okt 2017, 16:48
Also laut http://docwiki.embarcadero.com/Libra...taSet.FetchAll bezieht sich FetchAll nur auf das aktuelle Resultset.

Ich verwende FetchAll manchmal, wenn ich nicht eh FetchOptions.Mode auf fmAll gesetzt habe, um alle Datensätze in einem Grid anzuzeigen und hatte da noch nie Nebenwirkungen. Allerdings habe ich mit MariaDB noch nie gearbeitet.

Aber ein kurzer Blick in die MySQL FireDAC Doku bringt den Parameter ResultMode zum Vorschein. Wie ist der denn gesetzt? Wenn der auf Store steht, würde das erklären, wo die Daten des zweiten Resultsets herkommen, denn dann macht er immer FetchAll.
Björn Reimer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#12

AW: Firedac Query fetch all

  Alt 10. Okt 2017, 18:40
Vielleicht kann hier irgendwer nur eine gleichzeitige Verbindung aufrechterhalten? (FireDAC, DB-Treiber, Datenbank-Server, DBMS, ....)
Bzw. man muß erst irgendwo aktivieren, dass mehrere Verbindungen gehen?

Also sobald über die selbe Connection nun was Neues geht, wird die andere Verbindung getrennt (und vorher noch schnell alles geholt).
$2B or not $2B
  Mit Zitat antworten Zitat
MES

Registriert seit: 23. Dez 2008
Ort: PLZ 73
39 Beiträge
 
#13

AW: Firedac Query fetch all

  Alt 11. Okt 2017, 16:23
So, wir haben das Problem erheblich einkreisen - aber noch nicht ganz lösen können.

In einem Initbereich war folgendes hinterlegt:
stLibFile := ExtractFileDir(stABSEXE) + '\lib\libmysql.dll';
md.FDPhysMySQLDriverLink1.VendorLib := stLibFile;

Den angegebenen Pfad gab es aber gar nicht. Statt einer Fehlermeldung auszugeben wurde intern danach gesucht(weil es in den uses steht?) und eine Version von libmysql.dll von 2015 genommen. Hm, ganz schön alt dachte ich und durchsuchte meinen PC nach weiteren libmysql.dll. Ich fahnd in einem Ordner eine weitere lib mit dem Datum 2001. Ich biege
also den obigen Quellcode auf diesen Ordner hin und siehe da! Es funktioniert!!! Das FetchAll ist weg!!! Genau das hätte ich aber nicht erwartet den der Treiber ist uralt.

Noch bissl Verwirrung: Ich fand die FireDacAdministrator.exe. Hier wird genau diese uralte Version von libmysql.dll angezeigt. Kein Problem dachte ich, ich stell den Pfad auch hier um - doch wie? In der ConnectionDef.ini ist kein Pfad eingetragen. Weiß jemand wo/wie dieser Pfadeintrag editierbar ist? Oder was die aktuelle Version von libmysql ist?
LG

MES
  Mit Zitat antworten Zitat
MES

Registriert seit: 23. Dez 2008
Ort: PLZ 73
39 Beiträge
 
#14

AW: Firedac Query fetch all

  Alt 11. Okt 2017, 17:05
Libmysql haben wir in der Version .19 von MySql runtergezogen.... bin gespannt.. morgen gibts news. Danke erstmals für eure Hilfe.
LG

MES
  Mit Zitat antworten Zitat
MES

Registriert seit: 23. Dez 2008
Ort: PLZ 73
39 Beiträge
 
#15

AW: Firedac Query fetch all

  Alt 13. Okt 2017, 10:01
Es ist leider wie befürchtet: Mit dem Uralttreiber(2001) funktioniert es und mit jedem neuerem nicht. Um alle eventuelle Altlasten zu umgehen wurde ein neues Projekt erzeugt und auf einer neu aufgesetzten VM getestet.
Bin nun echt ratlos und frage mich ob der Wechsel von der Uralt(aber funktionierender) BDE zu neueren(aber nicht funktionierenden) Technologien der richtige Weg war. Wo ich hinlang nur Mist. Nicht mal der einsatz von TFDTable funktioniert denn hier führt die unterschiedliche Sortierung des Client und des Servers zu dopellten Zeileneinträge und somit zu einer Fehlermeldung. Auch dieses Problem wird im Internet seit vielen Jahren immer wieder erkannt(auch hier im Forum) doch eine Lösung scheint keiner zu haben. Die vagen Aussagen von Embarcadero versteh ich jetzt endlich richtig: Müll ist Müll und kann nicht zu Gold gemacht werden. Embarcadero ist auf dem sicheren Weg einen seit 20 Jahren (ab Delphi 2) glühenden Fan zu verlieren. Wünsche euch ein schönes Wochenende und hoffe das ihr mehr Erfolg hattet als ich.
LG

MES
  Mit Zitat antworten Zitat
MES

Registriert seit: 23. Dez 2008
Ort: PLZ 73
39 Beiträge
 
#16

AW: Firedac Query fetch all

  Alt 13. Okt 2017, 13:36
Wir haben einen Test mit myDac (anstatt FireDac) gemacht - alles funzt wie es soll, also ist dieses ominöse "fetch all" beim "open" weg. FireDac fliegt höchstwahrscheinlich raus.

Hat jemand mit myDac bzw. UniDac Erfahrungen? Spricht was dagegen diese einzusetzen? In Verbindung mit MariaDb. Erste Tests haben zumindest ein deutlich schnelleres Fetching
gezeigt(doch das müssen wir genauer testen).
LG

MES
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Firedac Query fetch all

  Alt 13. Okt 2017, 14:05
Nicht mit MySQL/MariaDB. Aber allgemein recht gute Erfahrungen mit UniDAC.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Firedac Query fetch all

  Alt 13. Okt 2017, 14:47
Ich habe sehr gute Erfahrungen mit UniDAC machen können. Erwähnenswert ist auch das mitgelieferte Migrationstool um von BDE, den eigenen und fremden DACs (auch von FireDAC nach UniDAC) zu konvertieren.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  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 04:30 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