Autor Téma: FireDac + MySQL + FDDrivers.ini - [FireDAC][Phys][MySQL]-314  (Přečteno 365 krát)

Offline bluebat

  • Nováček
  • *
  • Příspěvků: 27
  • Karma: 6
    • Verze Delphi: 10.3 Rio
Excellent
Rated 1 time
Snažím se rozchodit package pro EMS server, ale v podstatě by to mělo být podobné, jako u jiného programu a tak trochu tápu...

1. MySQL server běží
2. Mám složku: C:\delphidrivers\mysql\64bit a C:\delphidrivers\mysql\32bit a v i příslušné libmysql.dll

a) Jak udělat přes FDDrivers.ini aby v případě že spustím debug 32Bit tak to bralo driver z 32Bit podsložky a stejně tak v 64Bit verzi? Zkouším dávat do DEBUG adresáře FDDrivers.ini s konfigurací na daný driver ale nic
b) v aplikaci mám pouze FDConnection (bez PhysLinkuu) a chtěl byhc to tahat podle toho ini file? Jde to vůbec?
c) Zkoušel jsem namapovat přímo přes PhysLink tu knihovnu napřímo přes VendorLib parameteer a taky nic :-( ... někde mám něco špatně a už moc nevím co a jak :-( ... nějaká rada jak na to Návod? googlim a hledam a asi uz mám slepotu...

CHybu t o hlásí tuto: [FireDAC][Phys][MySQL]-314. Cannot load vendor library [libmysql.dll, libmariadb or libmysqld.dll]. Uvedený modul nebyl nalezen\r\nHint: check it is in the PATH or application EXE directories, and has x64 bitness.

Offline bluebat

  • Nováček
  • *
  • Příspěvků: 27
  • Karma: 6
    • Verze Delphi: 10.3 Rio
Re:FireDac + MySQL + FDDrivers.ini - [FireDAC][Phys][MySQL]-314
« Odpověď #1 kdy: 31-03-2019, 20:26:03 »
Excellent
Rated 1 time
Ehm, Ehm, OK ... teda ... metoda pokus omyl a večer moudřejší rána :D ...nevím, zd aje to správně, ale co jsem dozjistil a doladil...

1. Instaloval jsem MySQL server 8.0.15 ... no a ačkoliv by měl být podporovaný, tak jeho libmysql.dll by asi problém...
2. Stáhnul jsem ZIP archivy s instalačkami 5.7.X verze MySQL
3. Vytvořil složku: C:\driver\32Bit a tam dal 32 bit DLL, podobně pro 64Bit
4. Editoval jsem FDDrivers.ini v C:\Users\Public\Documents\Embarcadero\Studio\FireDAC takto:

[FDDrivers.ini]
Encoding=UTF8

[MySQL]
BaseDriverID=MySQL
VendorLibWin32=c:\driver\32Bit\libmysql.dll
VendorLibWin64=c:\driver\64Bit\libmysql.dll

5. Na RAD Serveru ... nakopíroval složku C:\Drivers...
6. Do SERVER adresáře vložil FDDrivers.ini
.. povolil BPL package ...

A teď už řeším interní chybu v kódu aplikace, že špatně pracuju s daty... UFF :D :D :D


Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2277
  • Karma: 101
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:FireDac + MySQL + FDDrivers.ini - [FireDAC][Phys][MySQL]-314
« Odpověď #2 kdy: 01-04-2019, 06:38:41 »
Osobně jsem nikdy nepoužil FDDrivers.ini a vždy konfiguruji firedac z aplikace. Přijde mi to jako zbytečná závislost na ini, které je sdílené mezi cizími aplikacemi.
Embarcadero MVP - Czech republic

Online Delfin

  • Padawan
  • ******
  • Příspěvků: 1759
  • Karma: 68
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:FireDac + MySQL + FDDrivers.ini - [FireDAC][Phys][MySQL]-314
« Odpověď #3 kdy: 01-04-2019, 06:49:50 »
Přijde mi to jako zbytečná závislost na ini, které je sdílené mezi cizími aplikacemi.

Sdileny je FDDrivers.ini jen pro aplikace ve stejnem adresari. V pripadne jeho absence pak souborem z klice registru HKCU\Software\Embarcadero\FireDAC\DriverFile.
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline bluebat

  • Nováček
  • *
  • Příspěvků: 27
  • Karma: 6
    • Verze Delphi: 10.3 Rio
Re:FireDac + MySQL + FDDrivers.ini - [FireDAC][Phys][MySQL]-314
« Odpověď #4 kdy: 01-04-2019, 08:43:00 »
Jo taky jsem na to přišel ještě dalším zkoušením... výsledný stav:

FDDrivers.ini ... mám kvůli libmysql.dll na vývojovém PC
na serveru jsem to nakonec knihovnu hodil do SYSTEM32

- připojení k DB v aplikaci, to ano