Autor Téma: Na cieľovom PC je inštalovaný server FB2.5 a ja mám DB FB3 Načítava knižnice 2.5  (Přečteno 2129 krát)

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5261
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Súbor fbclient.dll definujem v
Kód: [Vybrat]
dtmdBasic.fdfbdrlnkFoc.VendorLib := FVendorDir + 'fbclient.dll';Cesta je dobrá. Napriek tomu mi to načítava z 2.5 Napíše mi oznam found 12.0, support 11.2
Podľa mňa to má fungovať :( , ale nefuguje. Nepomohlo ani skopírovanie fbclient.dll k exe.
Je potrebné ešte niekde niečo nastaviť, aby to ťahalo z mojeho adresára?

W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5261
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Application errror
Exception EIBNativeExecption in module OverAllResult.exe at 003C188A.
[FireDAC][Phys][FB]unsuported on-disk structure for file D:\KRK\OVERALLRESULT\OVERALLRESULT.FDB; found 12.0, support 11.2.
Program vyvíjam na pc, kde mám inštalovaný len server FB3.0.2. Bežať má na NB, kde je inštalovaný FB2.5. O tom som netušil.
Z daného oznamu vyvodzujem, že fbclient.dll ťahá z adresára FB2.5 a nie z umiestnenia, ktoré som definoval vo VendorLib.
Kód: [Vybrat]
   FVendorDir :=  FApplicationDir + sVendor;
  dtmdBasic.fdfbdrlnkFoc.VendorLib := FVendorDir + 'fbclient.dll';
  dtmdBasic.fdfbdrlnkFoc.Embedded := True;
  dtmdBasic.fdfbdrlnkFoc.VendorLib := FVendorDir + 'fbclient.dll';
  FUserDataDir := FApplicationDir + 'Data\';

  CheckFiles(FUserDataDir);
  Result := True;
end;
function CheckFiles(var FUserDataDir: string): string;

begin
  FileName := 'OVERALLRESULT.FDB';
  SetFOCConnection(FUserDataDir, FileName);
end;
procedure SetFOCConnection(FUserDataDir: string; FileName: string);

begin
  dtmdBasic.conBasic.LoginPrompt := False;
  dtmdBasic.conBasic.Params.Database := FUserDataDir + FileName;
  dtmdBasic.conBasic.Params.UserName := 'SYSDBA';
  dtmdBasic.conBasic.Params.Password := 'masterkey';
  dtmdBasic.conBasic.Connected := True;
 ShowMessage(dtmdBasic.conBasic.Params.Text);
 end;
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1052
  • Karma: 47
    • Verze Delphi: 10.3
Program vyvíjam na pc, kde mám inštalovaný len server FB3.0.2. Bežať má na NB, kde je inštalovaný FB2.5.

Doporučuju s předstihem vyzkoušet, jestli tu databázi z FB 3.x pak dostaneš do FB 2.5.x. Já to minule chvíli zkoušel a nepovedlo se mi to. Moc jsem se s tím netrápil, bylo jednodušší nainstalovat tam FB 3, ale v duchu jsem si udělal poznámku, že ten přenos do starší verze je možná oříšek.

Samozřejmě pokud použiješ tu embedded verzi (u FB 3 tomu myslím říkali nějak jinak), tak je Ti jedno, co na počítači je nainstalováno, protože si vše potřebné držíš u aplikace ve správné verzi.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5261
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional

Citace
Doporučuju s předstihem vyzkoušet, jestli tu databázi z FB 3.x pak dostaneš do FB 2.5.x
Prečo by som to mal robiť? Ja som to robil opačne. Z 2.5 do 3.0
Citace
Samozřejmě pokud použiješ tu embedded verzi (u FB 3 tomu myslím říkali nějak jinak), tak je Ti jedno, co na počítači je nainstalováno, protože si vše potřebné držíš u aplikace ve správné verzi.
Práve to ma serie, že to jedno nie je >:(
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1052
  • Karma: 47
    • Verze Delphi: 10.3

Citace
Samozřejmě pokud použiješ tu embedded verzi (u FB 3 tomu myslím říkali nějak jinak), tak je Ti jedno, co na počítači je nainstalováno, protože si vše potřebné držíš u aplikace ve správné verzi.
Práve to ma serie, že to jedno nie je >:(

EMbedded musí fungovat i v případě, že na tom počítači není Firebird nainstalovaný vůbec. Spíš si říkám, jestli tam máš všechny potřebné soubory - ono nestačí tam dát fbclient.dll, když jsem naposledy něco zkoušel s embedded verzí 3.x, měl jsem tam u 64bitové verze tohle (možná něco z toho zbytečně):

intl (složka, v ní fbintl.conf, fbintl.dll)
plugins (složka, v ní engine12.dll, fbtrace.dll, legacy_auth.dll, legacy_usermanager.dll, srp.dll, udr_engine.conf, udr_engine.dll)
udf (složka, v ní fbudf.dll, fbudf.sql, fbudf.txt, ib_udf.dll, ib_udf.sql, ib_udf2.sql)
fbclient.dll
firebird.conf
firebird.log
firebird.msg
ib_util.dll
ibclient64.dll
icudt52.dll
icudt52l.dat
icuin52.dll
icuuc52.dll
msvcp100.dll
msvcr100.dll

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5261
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Citace
To bez migrace Tve databaze verze 2.5 na zakaznikovu verzi (serveru) 3 nepujde.
V to Španielsku musí byť poriadne horúco. Jasne??? som napísal, že mám DB verziu 3 a "zákazník" má na NB inštalovaný server 2.5. Je to jasné aj z oznamu "found 12.0, support 11.2"
Ešte si pre istotu preverím tie súbory podľa príspevku vandrovnik-a. Viem, že niektoré súbory pre embeded režim musia byť z verzie 2.5. Pokiaľ ma pamäť neklame tak to sú ic...
Je pravda, že priamo pri exe nemám nič.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5261
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Už to ide. Nejaké súbory mi tam chýbali. Ďakujem.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.