InterBase Delphi másik gépen hiba.

InterBase Delphi másik gépen hiba.
2007-06-11T15:06:52+02:00
2007-06-12T10:51:37+02:00
2022-11-04T21:17:12+01:00
Offliner
Sziasztok!

Az a problémám, ha egy formra ráteszek egy interbase komponenst, lefordítom a programot, akkor egy másik gépen azonnal a program indításakor hibát észlel a windows és leállítja a programot. Ha nem aktív a komponens, akkor is.

Mi lehet a probléma?
Mutasd a teljes hozzászólást!
Az fbclient.dll-t már azelőtt betettem a system32-be mielőtt a kérdést feltettem.

Az szép dolog, de semmit nem értél el vele. Még pedig azért, mert az IB komponensek nem az fbclient.dll-t keresik, hanem a gds32.dll-t. Ugyanis az IB komponensek az interbase szerverrel való kommunikálásra vannak.
Az egy más kérdés, hogy a firebird úgy lett megcsinálva, hogy a kliens dll interfésze megegyezzen az IB-jével, így az IB komponensek úgy látják, mintha egy IB szerver lenne ott, pedig Firebird van.
Nevezd át az fbclient.dll-t gds32.dll-re és menni fog.


P.S.: SZVSZ nem elég csak ez az egy dll a működéshez, nézd meg a programod és az fbclient.dll függőségeit és ott láthatod, hogy pontosan mikre van szükség.
Mutasd a teljes hozzászólást!

  • Van egy porszívóm, szép piros. Tegnap még működött, ma bedugom a konnektorba és nem működik. Nem tudod mi lehet a hibája?
    Mutasd a teljes hozzászólást!
  • "A project1.exe hibát észlel ezért leáll." Ezen kívűl van részletes hiba jelentés, de az számomra nem mond semmit:


    <?xml version="1.0" encoding="UTF-16"?> <DATABASE> <EXE NAME="Project1.exe" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="Project1.exe" SIZE="656896" CHECKSUM="0xE7003C56" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> </EXE> <EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="kernel32.dll" SIZE="1002496" CHECKSUM="0x39F0EFAF" BIN_FILE_VERSION="5.1.2600.2945" BIN_PRODUCT_VERSION="5.1.2600.2945" PRODUCT_VERSION="5.1.2600.2945" FILE_DESCRIPTION="Win32 kernel mag komponens" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft&#174; Windows&#174; operációs rendszer" FILE_VERSION="5.1.2600.2945 (xpsp_sp2_gdr.060704-2349)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="&#169; Microsoft Corporation. Minden jog fenntartva." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xFA17F" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2945" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2945" LINK_DATE="07/05/2006 10:56:34" UPTO_LINK_DATE="07/05/2006 10:56:34" VER_LANGUAGE="magyar [0x40e]" /> </EXE> <EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="kernel32.dll" SIZE="1002496" CHECKSUM="0x39F0EFAF" BIN_FILE_VERSION="5.1.2600.2945" BIN_PRODUCT_VERSION="5.1.2600.2945" PRODUCT_VERSION="5.1.2600.2945" FILE_DESCRIPTION="Win32 kernel mag komponens" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft&#174; Windows&#174; operációs rendszer" FILE_VERSION="5.1.2600.2945 (xpsp_sp2_gdr.060704-2349)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="&#169; Microsoft Corporation. Minden jog fenntartva." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xFA17F" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2945" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2945" LINK_DATE="07/05/2006 10:56:34" UPTO_LINK_DATE="07/05/2006 10:56:34" VER_LANGUAGE="magyar [0x40e]" /> </EXE> </DATABASE>
    Mutasd a teljes hozzászólást!
  • A másik gépen van Interbase/Firebird telepítve?
    Mutasd a teljes hozzászólást!
  • Ahan, így már sokkal jobb...
    Mutasd a teljes hozzászólást!
  • Nincs.
    Mutasd a teljes hozzászólást!
  • Erről beszélek
    Mutasd a teljes hozzászólást!
  • Ha nincs, akkor min csodálkozol?
    Mutasd a teljes hozzászólást!
  • Komponenstől függően vagy gds32.dll, vagy fbclient.dll kell neki, mivel ezen lib-ek valamelyike hozzá van linkelve az exe-hez. Ehhez nem kell IB/FB az adott gépre, hanem elég csak ezen dll-ek megléte a megfelelő helyen. Persze, ha az adott gép az adatbázisszerver, akkor természetesen a teljes szerverszoftvert telepíteni kell.
    Mutasd a teljes hozzászólást!
  • Probáld már ki úgy, hogy a másik gépre is felteszed Firebird-öt!
    Mutasd a teljes hozzászólást!
  • Az fbclient.dll-t már azelőtt betettem a system32-be mielőtt a kérdést feltettem. De nem segített.

    Egyébként a hálózat másik gépén levő firebird-öt szeretném elérni.

    Azt továbbra sem értem, ha nem is aktív a komponens, akkor mi okozza a hibát..., hiszen nem akar csatlakozni az adatbázishoz. Csak egyszerűen rádobtam egy üres formra.

    Ahhoz, hogy a hálózat másik gépén lévő firebird-öt használjam, miért kell lennie a kliens gépen is firebirdnek?
    Mutasd a teljes hozzászólást!
  • Ahhoz, hogy a hálózat másik gépén lévő firebird-öt használjam, miért kell lennie a kliens gépen is firebirdnek?


    Hoppá. Ez esetben érdemes lenne az alapjait elsajátítani az FB és a többi SQL szerver működésének. A Firebird kliens-t fel kell telepítened/másolnod arra a gépre, amelyről egy FB szerverhez akarsz csatlakozni, ők tartják a kapcsolatot egymás között. Tehát a szerveren legyen vagy classic, vagy superserver telepítve, a kliensen pedig minimum kliens install, vagy lehet embedded verzió, esetleg lehet azon is szerver telepítés.

    Az eredeti problémádra: annak ellenére, hogy nem aktív a komponens, szerintem a szükséges .dll-eket és egyéb fájlokat hiányolja a futtatáskor a win. Tehát ha IBX-et használsz, akkor az ahhoz szükséges állományokat is vidd át a kliens gépre (ami nincs belelinkelve az .exe-be).
    Mutasd a teljes hozzászólást!
  • Ez esetben érdemes lenne az alapjait elsajátítani az FB és a többi SQL szerver működésének.


    Próbálom

    annak ellenére, hogy nem aktív a komponens, szerintem a szükséges .dll-eket és egyéb fájlokat hiányolja a futtatáskor a win.


    De akkor miért nem azt a hibaüzenetet adja, hogy milyen fájlt hiányol? (Ez csak költői kérdés volt.)

    Tehát ha IBX-et használsz, akkor az ahhoz szükséges állományokat is vidd át a kliens gépre (ami nincs belelinkelve az .exe-be).


    Mik ezek az állományok?
    Gondolom, ha telepíteném a Firebird klienst, ez megoldaná.

    Olyan megoldás nincs, hogy a firebid klienst ne kelljen telepíteni?
    Mutasd a teljes hozzászólást!
  • Az fbclient.dll-t már azelőtt betettem a system32-be mielőtt a kérdést feltettem.

    Az szép dolog, de semmit nem értél el vele. Még pedig azért, mert az IB komponensek nem az fbclient.dll-t keresik, hanem a gds32.dll-t. Ugyanis az IB komponensek az interbase szerverrel való kommunikálásra vannak.
    Az egy más kérdés, hogy a firebird úgy lett megcsinálva, hogy a kliens dll interfésze megegyezzen az IB-jével, így az IB komponensek úgy látják, mintha egy IB szerver lenne ott, pedig Firebird van.
    Nevezd át az fbclient.dll-t gds32.dll-re és menni fog.


    P.S.: SZVSZ nem elég csak ez az egy dll a működéshez, nézd meg a programod és az fbclient.dll függőségeit és ott láthatod, hogy pontosan mikre van szükség.
    Mutasd a teljes hozzászólást!
  • Jogos az 50 pont

    Már csak azt kéne tudni, hogy mi kell ahhoz, hogy csatlakozni is tudjak.
    Mutasd a teljes hozzászólást!
  • Közben megtaláltam, a tűzfalon nem volt engedélyezve a port, most már működik.

    Az fbclient.dll is kell és az instclient.exe-t telepíteni kell.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd