Autor Téma: Instalace Firebird 3 a IBX pro Delphi 7  (Přečteno 530 krát)

Offline Jan Šebelík

  • Nováček
  • *
  • Příspěvků: 9
  • Karma: 0
    • Verze Delphi: Delphi 7, Firebird, MS SQL
Instalace Firebird 3 a IBX pro Delphi 7
« kdy: 18-03-2019, 16:57:23 »
Ahoj.

Jsem stará konzerva. Pracuji (celkem dost úspěšně :-) s Firebird 2.1, Delphi 7,  IBX 7.11. Nyní jsem nucen přejít na FB 3.0. Tak jasně, google používat umím, ale kdyby mi někdo nakopnul, kudy jít, tak by mi ušetřil spoustu času. Byl bych mu vděčný. Teď mi jde především o správnou verzi IBX.

Děkuju
Honza Šebelík

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4341
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #1 kdy: 19-03-2019, 08:28:05 »
Ja som sa niečo podobné pýtal s ohľadom na FireDAC a čiastočne FastReport. Ak tam nechceš používať nejaké "administrátorské" komponenty, napríklad práva užívateľov, tak nevidím žiaden dôvod na nefunkčnosť.
Pri bežnom prístupe k DB a práci s údajmi nebudeš mať problém. Osobne by som použil poslednú, ktorú máš k dispozícii.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 42
    • Verze Delphi: 10.3
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #2 kdy: 19-03-2019, 10:06:11 »
Při troše štěstí ty komponenty ani nepoznají, že je použita novější verze Firebirdu.
Pokud používáš SELECT COUNT(*)..., tak ve Firebird 3 je výsledek 64bitové číslo, zatímco ve starších verzích to bylo 32bitové číslo.

Offline Jan Šebelík

  • Nováček
  • *
  • Příspěvků: 9
  • Karma: 0
    • Verze Delphi: Delphi 7, Firebird, MS SQL
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #3 kdy: 24-04-2019, 10:50:17 »
Děkuji za všechny odpovědi. Přišel čas, abych do toho už šel natvrdo.

Popravdě věřím, že mi to IBX nějak fungovat bude. Žádné krkolomnosti tam nedělám. Totiž nedokážu si představit, že bych to celé přeprogramoval na něco jiného. To by bylo na deset let.

Spíš mi jde o administraci databází (180 uživatelů). Někdo pojede na FB 2.1, někdo na FB 2.5, někdo na 3.0. Já přecházím na FB 3.0.4. Jde mi o to, že budu nejspíš muset mít nainstalované obě verze. A nějak je mezi sebou přepínat? Zastavit jeden, spustit druhý? Zálohovat pomocí FB2, restore ve FB3? Pracuju někdy s databázemi uživatelů, když hledám nějaký problém. V jaké verzi mi to pošlou?

Administrace databáze? Znám IB Manager, měl jsem ho nainstalovaný. Ale oproti IB Console mi přijde zbytečně složitý na ovládání. Používám tedy stále IB Console. Ale co teď? Jestli by nebylo nejsnazší použít prostě ISQL.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 42
    • Verze Delphi: 10.3
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #4 kdy: 24-04-2019, 11:21:19 »
Great
Rated 1 time
Popravdě věřím, že mi to IBX nějak fungovat bude. Žádné krkolomnosti tam nedělám. Totiž nedokážu si představit, že bych to celé přeprogramoval na něco jiného. To by bylo na deset let.

Také používám IBX a aktuálně žádné problémy nemám (Delphi 10.3.1 Pro).

Někdo pojede na FB 2.1, někdo na FB 2.5, někdo na 3.0. Já přecházím na FB 3.0.4. Jde mi o to, že budu nejspíš muset mít nainstalované obě verze. A nějak je mezi sebou přepínat? Zastavit jeden, spustit druhý? Zálohovat pomocí FB2, restore ve FB3? Pracuju někdy s databázemi uživatelů, když hledám nějaký problém. V jaké verzi mi to pošlou?

Já to mám tak, že mi běží 2.5.8 a 3.0.4 zároveň - jsou nainstalované do samostatných složek a ve firebird.conf má každá nakonfigurovaný jiný port.

Pro obnovu jsem pak používal něco jako
"C:\Program Files\Firebird\Firebird_3_0\gbak.exe" -c -user sysdba -password masterkey -rep -v -z -service 127.0.0.1/3051:service_mgr zaloha.fbk cil.fdb

Administrace databáze? Znám IB Manager, měl jsem ho nainstalovaný. Ale oproti IB Console mi přijde zbytečně složitý na ovládání. Používám tedy stále IB Console. Ale co teď? Jestli by nebylo nejsnazší použít prostě ISQL.

Používám IB Expert (personal...) a isql, v aplikaci mám okno na vlastní SQL dotazy, naštěstí to moc nepotřebuji.

Offline Jan Šebelík

  • Nováček
  • *
  • Příspěvků: 9
  • Karma: 0
    • Verze Delphi: Delphi 7, Firebird, MS SQL
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #5 kdy: 24-04-2019, 12:13:37 »
FB3 jsem nainstaloval, na FB2 databáze udělal restore, zavedl uživatele,  ISQL funguje.

Ale Delphi se nespustí. Access Violation při startu programu, ještě před pokusem připojit se k databázi. To bude něco s tím gds32.dll nebo fbclient.dll nebo prostě něco, co se natahuje při startu programu.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 42
    • Verze Delphi: 10.3
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #6 kdy: 24-04-2019, 12:19:41 »
A nespustí se Delphi, nebo aplikace?

Mně se vlastně občas stane, že když nechám v IDE otevřená okna, která obsahují např. tIbDataSet, který se odkazuje na databázi v data modulu, tak při příštím spuštění Delphi se při obnovování všech naposledy otevřených formulářů ukáže AV. Ten formulář pak stačí zavřít a znovu otevřít.

Jinak aplikace - ve složce, kde je .exe, mám gds32.dll, msvcp100.dll a msvcr100.dll.

Offline Jan Šebelík

  • Nováček
  • *
  • Příspěvků: 9
  • Karma: 0
    • Verze Delphi: Delphi 7, Firebird, MS SQL
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #7 kdy: 24-04-2019, 12:40:37 »
Nespustí se aplikace. Ani v prostředí Delphi, ani vně Delphi.
Komponenty jako TIBDataBase a pod. se nastavují až v runtime, takže otevření datasetu v prostředí Delphi nehrozí.

Ty gds32.dll, msvcp100.dll a msvcr100.dll jsi vyčetl kde? Já našel jenom "fbclient.dll nakopírovat jako gds32.dll, která není součástí instalace". Problém může být i 32/64 bit. Firebird je 64 bit, aplikace (a Delphi) 16 bit. Jenže FB2.1 byl taky 64 bit.
« Poslední změna: 24-04-2019, 12:43:55 od Jan Šebelík »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4341
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #8 kdy: 24-04-2019, 12:55:55 »
Ja som si vytvoril Adresár Vendor s Vendor32 a Vendor34 a v nich mám príslušné súbory. Okrem toho nič viac. Cestu k nim nastavujem dynamicky. Ak mi na súkromnú správu pošleš svoj email, tak Ti pošlem komplet všetky súbory k FB3.
Niečo sa tam muselo kopírovať z FB2.5, ale hosip.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Jan Šebelík

  • Nováček
  • *
  • Příspěvků: 9
  • Karma: 0
    • Verze Delphi: Delphi 7, Firebird, MS SQL
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #9 kdy: 24-04-2019, 13:15:15 »
Tak se to rozeběhlo.

Spustil jsem znovu instalaci FB3 a dal jsem si záležet, aby proběhl support pro FB klienta (gds32.dll). Chodí to (zatím). Ale násobně pomaleji než dosud.

Přivítám hint, jak to mít snadno spuštěné FB2+FB3 a jenom se přepínat jak v běžící service, tak v podpoře klienta.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 42
    • Verze Delphi: 10.3
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #10 kdy: 24-04-2019, 13:17:16 »
Excellent
Rated 1 time
Nespustí se aplikace. Ani v prostředí Delphi, ani vně Delphi.
Komponenty jako TIBDataBase a pod. se nastavují až v runtime, takže otevření datasetu v prostředí Delphi nehrozí.

Ty gds32.dll, msvcp100.dll a msvcr100.dll jsi vyčetl kde? Já našel jenom "fbclient.dll nakopírovat jako gds32.dll, která není součástí instalace". Problém může být i 32/64 bit. Firebird je 64 bit, aplikace (a Delphi) 16 bit. Jenže FB2.1 byl taky 64 bit.

Pokud máš 32bitovou aplikaci, tak potřebuješ i 32bitovou verzi gds32.dll (fbclient.dll přejmenovaný na gds32.dll), tj. nestačí vzít fbclient.dll od 64bitového Firebirdu, musíš vzít fbclient32.dll od 32bitové verze.

Na knihovny msv*.dll se odkazuje ta gds32.dll.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 42
    • Verze Delphi: 10.3
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #11 kdy: 24-04-2019, 13:46:33 »
Excellent
Rated 1 time
Přivítám hint, jak to mít snadno spuštěné FB2+FB3 a jenom se přepínat jak v běžící service, tak v podpoře klienta.

Server: ve firebird.conf musí každá verze mít jiný port, takže já mám např. v C:\Program Files\Firebird\Firebird_3_0\firebird.conf uvedeno: RemoteServicePort = 3051

Klient: připojuji se buď na "127.0.0.1:" (tím pádem použije port 3050), nebo na "127.0.0.1/3051:".

Offline Jan Šebelík

  • Nováček
  • *
  • Příspěvků: 9
  • Karma: 0
    • Verze Delphi: Delphi 7, Firebird, MS SQL
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #12 kdy: 24-04-2019, 14:26:08 »
Pokud máš 32bitovou aplikaci, tak potřebuješ i 32bitovou verzi gds32.dll (fbclient.dll přejmenovaný na gds32.dll), tj. nestačí vzít fbclient.dll od 64bitového Firebirdu, musíš vzít fbclient32.dll od 32bitové verze.
To chápu. Ale mně se to rozeběhlo, když jsem podruhé spustil instalaci FB3 (Firebird-3.0.4.33054_0_x64.exe) a ono se to nějak SAMO dalo na správná místa.

Takže!
Soubory gds32.dll a fbclient.dll instalace zkopírována do složek System32 a SysWOW64. Nejslpíš by to mělo fungovat tak, že aplikace 32bit si je vezme ze System32, aplikace 64bit z SysWOW64. To by mohlo fungovat.
« Poslední změna: 24-04-2019, 14:48:44 od Jan Šebelík »

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 184
  • Karma: 8
    • Verze Delphi: 7, XE6
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #13 kdy: 25-04-2019, 08:40:41 »
Jak instalovat Firebird 3 souběžně jako další instanci ke stávajícímu Firebird 2.5:
https://www.youtube.com/watch?v=rYD0hEQOfz0

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 42
    • Verze Delphi: 10.3
Re:Instalace Firebird 3 a IBX pro Delphi 7
« Odpověď #14 kdy: 25-04-2019, 08:51:27 »
Excellent
Rated 1 time
Takže!
Soubory gds32.dll a fbclient.dll instalace zkopírována do složek System32 a SysWOW64. Nejslpíš by to mělo fungovat tak, že aplikace 32bit si je vezme ze System32, aplikace 64bit z SysWOW64. To by mohlo fungovat.

No, na to bych právě nikdy nespoléhal, že v systémových složkách budou soubory přítomny, popř. ve správné verzi. Např. u aplikace, která se spouští ze síťového disku, na stanicích ty soubory zpravidla dostupné nebudou, protože na těch stanicích se Firebird neinstaloval. Pokud dáš soubory přímo do složky s aplikací, máš jistotu, že tam jsou a že je to verze, se kterou máš aplikaci otestovanou.