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 1591 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 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?

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

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 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;
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 765
  • Karma: 43
    • 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.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 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 >:(
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 765
  • Karma: 43
    • 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

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 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č.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Už to ide. Nejaké súbory mi tam chýbali. Ďakujem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.