Autor Téma: FireDAC - FB embedded - pripojenie  (Přečteno 1175 krát)

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
FireDAC - FB embedded - pripojenie
« kdy: 23-10-2016, 19:34:08 »
Povýšil som FireDAC na sieťovú verziu a nedokážem sa pripojiť na lokálnu DB. Nastavenie Connection a zoznam knižníc je v prílohe. Dostávam oznam


[FireDAC][Phys][FB]unavailable database.


Mám stopnutý server FB. Predtým mi to išlo. Neviem si poradiť. Ďakujem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #1 kdy: 25-10-2016, 22:08:40 »
To ako ten FireDAC funguje? Už som z neho "šaľeni"
V Playground som si na DataModul vložil:

TFDPhysFBDriverLink
  DriverID = FB
  Embedded = True
  VendorHome = ''
  VendorLib =  ''
 
TFDConnection
  DriverName = FB
  Params
    CharacterSet = csNONE
    Database = D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\Data\JASOTSVB.FDB
    DriverID = FB
    Protocol = ipLocal
    Server = ''
    SQLDialect = 3
   
Dostávam message Database is unavailable
Ak kliknem PM na Connection, tak v info mám

================================
Connection definition parameters
================================
Database=D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\Data\JASOTSVB.FDB
User_Name=SYSDBA
Password=*****
Port=0
DriverID=FB
================================
FireDAC info
================================
Tool = RAD Studio XE7
FireDAC = 11.0.1 (Build 73709)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver FB ...
Brand = Firebird
Client version = 205019900
Client DLL name = c:\Program Files (x86)\Embarcadero\Studio\15.0\bin3rd\fbclient.dll
================================
Session info
================================
Failed to connect to DBMS !
[FireDAC][Phys][FB]unavailable database

Ale prečo má Client DLL name takúto hodnotu, keď som v TFDPhysFBDriverLink nastavil čosi iné? Pritom sa TFDPhysFBDriverLink nedá spojiť s Connection.

Ak cestu nastavím programovo
dtmdBasic.fdphysfbdrvrlnk1.VendorHome := 'D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\Win32\Debug';
dtmdBasic.fdphysfbdrvrlnk1.VendorLib := 'fbclient.dll';

tak dostávam
'[FireDAC][Phys][FB]-314. Cannot load vendor library [D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\Win32\Debug\bin\fbclient.dll]. Systém nemôže nájsť zadanú cestu.

Odkiaľ tam nabral to "bin"? Aj keď to tam doplním aj s knižnicou, tak hláška sa nezmení. Pritom fbclient je premenovaný fbembed
Aj keď nastavím
VendorLib := 'D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\Win32\Debug\fbembed.dll';
tak žiadna zmena.
« Poslední změna: 25-10-2016, 22:10:42 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #2 kdy: 26-10-2016, 12:14:10 »
Už začnem byť vulgárny. Do riti, to tu nikto nepomôže chudáčikovi :(

Teraz vážne. Čo som urobil
  prečítal si návody k FB
  prečítal si návody k FireDAC
  hľadal problém na internete
  vypol FB server
  premenoval adresár FB
  na DataModul som vložil TFDPhysFBDriverLink a nastavil
    DriverID FB
    Embedded True
    VendorHome D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7
    VedorLib fbembed.dll
   alebo len
    VedorLib D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\fbembed.dll
  po skúsenostiach som vytvoril adresár bin s knižnicami. Knižnice som nahádzal kde sa len dalo.

Všade sa píše dookola to isté. Mám FirDAC Addin (či ako sa volá). Neviem či je to tým.
Pri pokuse o FDConnection.Connected na True dostanem oznam [FireDAC][Phys][FB]unavailable database s detailom ServerGone

Pri spustení aplikácie:
Cannot load vendor library [D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\bin\fbembed.dll]. Hint: check it is in the PATH or application EXE directories, and has x86 bitness..

Adresa a súbor sú v poriadku. Prečo tú knižnicu nemôže natiahnuť? A je jedno či tam dám fbclient.dll (premenovaná fbembed)

Som z toho úplne mimo :o
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1299
  • Karma: 28
    • Pepak.net
Re:FireDAC - FB embedded - pripojenie
« Odpověď #3 kdy: 26-10-2016, 12:29:36 »
Nejspíš nemáš potřebné závislosti. Použij Dependency Walker.

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 160
  • Karma: 6
    • Verze Delphi: 7, XE6
Re:FireDAC - FB embedded - pripojenie
« Odpověď #4 kdy: 26-10-2016, 12:57:29 »
Kdysi bývaly problémy s mezerami v názvech souborů. Zkus dát do VendorLib výraz v dvojitých uvozovkách, třeba až v runtime:
Kód: [Vybrat]
VendorLib := '"D:\Dokumenty\Delphi XE7\Playground JasotSVB XE7\fbembed.dll"';

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #5 kdy: 26-10-2016, 13:06:22 »
Citace
Zkus dát do VendorLib výraz v dvojitých uvozovkách, třeba až v runtime:
Chybná cesta, syntax
Citace
Použij Dependency Walker.
Našiel, stiahol, spustil ale... viď v prílohe. Neviem čo s tým. Prvú knižnicu som našiel. Druhá knižnica, API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL,  na PC neexistuje. Ďalej som nešiel.

Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 160
  • Karma: 6
    • Verze Delphi: 7, XE6
Re:FireDAC - FB embedded - pripojenie
« Odpověď #6 kdy: 26-10-2016, 13:29:06 »
Můj kód, knihovnu fbembed.dll umístím do složky s exe:
Kód: [Vybrat]
var
  ces: string;
begin
... neco jsem odmazal ...
        { pouziju embeded verzi firebirdu }
        ces := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)));
        if FileExists(ces + 'fbembed.dll') then
          FDPhysFBDrivLink.VendorLib := ces + 'fbembed.dll';          { knihovna embeded firebird }
... neco jsem odmazal ...
end;
A máš stažený FB Embedded 32 bit nebo 64 bit, podle Windows ?

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #7 kdy: 26-10-2016, 13:35:11 »
Citace
A máš stažený FB Embedded 32 bit nebo 64 bit, podle Windows ?
Oba. Nepamätám si ktorý som skopíroval. Ale ktorý tam mám dať? App.exe je 32 bit, W7 64.
Podľa veľkosti to je 64 bit.
« Poslední změna: 26-10-2016, 13:37:17 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #8 kdy: 26-10-2016, 13:41:11 »
Skúsil som aj 32 bit. Nejde to.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #9 kdy: 26-10-2016, 14:59:21 »
Dependency Walker: Doplnil som knižnice, ale dostal som

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Sťahoval som 32 bit dll-ka do adresára Windows/System32. A neviem kde hľadať ten log.
« Poslední změna: 26-10-2016, 15:01:43 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline martinnr

  • Plnoletý
  • ***
  • Příspěvků: 137
  • Karma: 2
    • Verze Delphi: 7,2009,XE7
Re:FireDAC - FB embedded - pripojenie
« Odpověď #10 kdy: 26-10-2016, 16:14:27 »
skus vsetky kniznice, nie len fbembed, dat do windows adresara/-rov (kde treba). aj tie ib*, ic, atd.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #11 kdy: 27-10-2016, 10:07:02 »
 :-[ :-[ :-[ :-[    :-X :-X :-X :-X   :'( :'( :'(
Ja som kopíroval 64 bit dll a mal som tam dať 32 bit. Idem sa skryť.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2996
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FireDAC - FB embedded - pripojenie
« Odpověď #12 kdy: 27-10-2016, 13:22:52 »
A musí to byť v kombinácii s TFDPhysFBDriverLink!!!
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Křestní jméno zpěváka Gotta: