Firebird szerver elérés

Firebird szerver elérés
2006-04-06T20:47:53+02:00
2006-04-12T12:45:58+02:00
2022-10-30T06:00:50+01:00
Triball
Hali!

Pár napja kezdtem el foglalkozni a Firebird-el. Feltettem a Firebird 1.5 szervert és az IB komponensekkel sikerült is kapcsolódnom az adatbázishoz.
A kérdésem az lenne hogy egy kliens hogy tud a nálam futó adatbázishoz hozzáférni, adatokat lekérdezni a szervertől? Úgy gondoltam hogy kreálok egy progit, amivel a kliens letud kerdezgetni dolgokat, de ehhez milyen komponenseket használjak??? Még ilyen jellegű dolgot nem csináltam.

Köszi a válaszokat.
Mutasd a teljes hozzászólást!
Nekem van egy szöveges ini file-om ami minden programom mellé elhelyezek és amiben leírom, hogy hol van a szerver stb.. A program indulásokor beolvassa ezt a file-t és a benne lévő paraméterek alapján csatlakozik a szerverhez. Ez azért jó így, mert ha a szervert lecserélik, vagy átkonfigurálják, akkor csak az ini file-t kell megválltoztatni és nem kell a programot újrafordítani az új paraméterekkel, mert így nem az exe-ben van beledrótozva a paraméterek. Na így néz ki az ini-m:
[#Parkoló]
USER:SYSDBA
PASSWORD:masterkey
CHARTYPE:WIN1250
DATABASE:192.168.2.100:D:\DATABASE\PARKOLO.GDB
PRINTER:LPT1
UDL:FILE NAME=D:\pp5\A\PARKOLO\Parkolo.udl
DBI:D:\Procontrol\Parkolo
EXE:Parkolo.exe
[Próba]
USER:SYSDBA
PASSWORD:masterkey
CHARTYPE:WIN1250
DATABASE:192.168.2.100:D:\DATABASE\Parkolo.GDB
PRINTER:LPT1
UDL:FILE NAME=D:\pp5\A\PARKOLO\Parkolo.udl
DBI:D:\Procontrol\Parkolo
EXE:Parkolo.exe
[\]
Mutasd a teljes hozzászólást!

  • Én Interbase-t használok, és a kliens gépeken telepíteni kell egy interbase kliens programot, ami ha jól emléxem a gds32.dll file másolását jelenti a windows system32 könyvtárába. Ha jól emléxem, akkor a firebird esetében egy fbclient.dll file-t is kell a system32-be másolni, vagy a programod exe-je mellé. Én nem használok firebird-öt, de ha a fbclient.dll-re rákeresel talán többet tudsz meg a dologról! A szerveren keres rá a fbclient.dll-re és ezt másold a kliens gép system32 könyvtárába.
    Mutasd a teljes hozzászólást!
  • 6. Performing a minimum Firebird 1.5 client install
    by Stefan Heymann (April 11th 2004)

    This article describes how to run Firebird 1.5 based applications with the absolute minimum client installation required.

    What you need

    Your application needs access to the Firebird client library, fbclient.dll. The easiest way to do this is to put fbclient.dll in the same directory as your application's .exe file.

    fbclient.dll needs access to two other DLLs: msvcp60.dll and msvcrt.dll. Both are delivered together with the Windows installation of Firebird, so if you have a Firebird server installed on your development machine, you'll find these DLLs in the bin directory of your Firebird installation.

    msvcrt.dll (Microsoft Visual C/C++ RunTime) is a part of Windows and resides in the Windows\System directory on Win9x machines and in Windows\System32 on NT-based machines (NT4, W2K, XP, 2003). On Windows 95 and Windows 98 machines, it's too old for the msvcp60.dll that fbclient.dll uses. So you'll have to replace the msvcrt.dll by the one that comes with Firebird (or even a newer one).

    msvcp60.dll can stay in your application directory.

    Your application directory now looks like this:

    <YourApp>.exe and other application files
    fbclient.dll
    msvcp60.dll

    That's it. Easy!

    What you have to write to the Registry

    Nothing - there's nothing you'll have to do to the registry.

    What you have to do to the Windows\System directory

    Only on Windows 95 and Windows 98 "First Edition" machines: you will need to replace msvcrt.dll with the newer version that comes with Firebird 1.5 (if there isn't already a new version installed).

    Some version numbers of msvcrt.dll:


    Mutasd a teljes hozzászólást!
  • Egy klienst telepíteni kell.
    Ugyanazokat a komponenseket kell használni
    szerver és kliensgépen is. Az adatbázis elérése kliensről:
    SzerverNév:AdatbázisÚtvonal
    pl.:
    távoli windowsos: Szerver1:c:\adatbazis\db.gdb
    távoli linuxos: Szerver1:/var/adatbazis/db.gdb
    helyi gép (érdemes itt is megadni a szervert):
    localhost:c:\adatbazis\db.gdb

    Nemtudom, hogy erre gondoltál-e
    Mutasd a teljes hozzászólást!
  • Hali!

    A DLL-ek megvannak, de az angolt nem vágom ilyen szinten...

    Hogy is van ez, melyik dll -ek kellenek és hova a kliensnél?

    Gondolom kell egy progi a klienshez a dll-eken kívül, milyen komponensekkel kell ezt megoldani?
    Köszi...

    Mutasd a teljes hozzászólást!
  • Köszi, valami ilyesmire gondoltam!
    Már csak a DLL-ek kérdését kéne tisztázni...

    Még nemtudom kipróbálni,de majd megnézem hogy működik e...
    Mutasd a teljes hozzászólást!
  • Nekem van egy szöveges ini file-om ami minden programom mellé elhelyezek és amiben leírom, hogy hol van a szerver stb.. A program indulásokor beolvassa ezt a file-t és a benne lévő paraméterek alapján csatlakozik a szerverhez. Ez azért jó így, mert ha a szervert lecserélik, vagy átkonfigurálják, akkor csak az ini file-t kell megválltoztatni és nem kell a programot újrafordítani az új paraméterekkel, mert így nem az exe-ben van beledrótozva a paraméterek. Na így néz ki az ini-m:
    [#Parkoló]
    USER:SYSDBA
    PASSWORD:masterkey
    CHARTYPE:WIN1250
    DATABASE:192.168.2.100:D:\DATABASE\PARKOLO.GDB
    PRINTER:LPT1
    UDL:FILE NAME=D:\pp5\A\PARKOLO\Parkolo.udl
    DBI:D:\Procontrol\Parkolo
    EXE:Parkolo.exe
    [Próba]
    USER:SYSDBA
    PASSWORD:masterkey
    CHARTYPE:WIN1250
    DATABASE:192.168.2.100:D:\DATABASE\Parkolo.GDB
    PRINTER:LPT1
    UDL:FILE NAME=D:\pp5\A\PARKOLO\Parkolo.udl
    DBI:D:\Procontrol\Parkolo
    EXE:Parkolo.exe
    [\]
    Mutasd a teljes hozzászólást!
  • Ezek a dll-ek a firebird szervered bin könyvtárában találhatóak, ahová a szervert telepítetted:fbclient.dll,msvcp60.dll,msvcrt.dll
    Ezeknek a dll-eknek kell meglenniük a kliens gépeden is. Az utóbbi kettő valószínűleg a windows miatt is ott van, de le kell ellenőrizni a meglétüket. Rakd a windows system32 könyvtárába, vagy a programod mellé, ott biztos megtalálja! Na ezután jöhet az előző hozzászólásom, hogy a programodon belül kialakítsd a kapcsolatot a szervereddel! Most már nem localhost!
    Mutasd a teljes hozzászólást!
  • Ez az ini file jó megoldás, ezt alkalmazni fogom én is...

    Köszi a segítséget!
    Ha tudom kipróbálom, és adom a pontot!
    Mutasd a teljes hozzászólást!
  • Én nem szoktam a dll-eket másolni fogom a Firebird telepítőt és a telepítőprogramból lefuttatom parancssórból felparaméterezve, az majd bepakolja magát ahova kell

    Kliens esetén valami ilyesmi:
    /SP- /VERYSILENT /NORESTART /COMPONENTS="DevAdminComponent, ClientComponent" /COPYFBCLIENT

    A DevAdminComponent csak azért, hogy Kliensről is lehessen gbak-kal DB-t menteni. Persze a telepítés elött érdemes megnézni, hogy nincs-e már telepítve

    Az INI megoldás jó, de használhatod esetleg a Registry-t is.
    Mutasd a teljes hozzászólást!
  • És ha használnád az aliases.conf-ot is akkor a
    DATABASE:192.168.2.100:D:\DATABASE\PARKOLO.GDB
    lehetne csak egyszerűen DATABASE=192.168.2.100:PARKOLO, ugyanis a kedves nyúzernek semmi köze hozzá, hogy a szerveren belül hol laknak az adatbázisok és milyen névre hallgatnak.
    Mindemellett a sysdba-masterkey párost nem illik használni, de ez már csak különvélemény.

    Ezexerint megy?
    Mutasd a teljes hozzászólást!
  • Ebben igazad van, csak a példa kedvéért írtam. Annyi baja is van ugye, hogy így látod az adatbázishoz a hozzáférést felhasználó, jelszó stb..., ami nem tartozik igazán senkire, de egyszerű megoldásnak szerintem ez is megteszi! Mi van már a programunkkal? Te csinálod vagy valaki más?
    Mutasd a teljes hozzászólást!
  • Szerintem valahol elakadt a cybertérben, mert nekem semmi infóm nincs róla.
    Mutasd a teljes hozzászólást!
  • Akkor maradunk egyelőre a farok rosszabbik oldalán!
    Mutasd a teljes hozzászólást!
  • Hali!

    Bocsi elvagyok kicsit havazva...

    Köszi mindenkinek a segítséget!
    Működik a dolog!
    Mutasd a teljes hozzászólást!
  • Kedves Whalaky!

    Csak két megjegyzes a "sysdba-masterkey páros"-ra!
    1.Ha fogod a gdb-t és hazaviszed akkor hiába állítottál be más felhasználót és jelszót az ügyfélnél, otthon akkor is be tudsz lépni a saját "sysdba-masterkey páros"-oddal! Ennyit a védelemről!
    Nagy hiba, de ez van!

    2. Mit csinálsz, ha van a gépen telepítve másik prg, ami "sysdba-masterkey páros"-sal megy?
    Nem cserélheted ki a SYSDBA-t és jelszavát a sajátodra, mert hazavágod a kolega progiját! Tehát megint csak ennyit a védelemről!

    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