[Delphi & interbase] Interbase DB opvragen op remote-locatie

Pagina: 1
Acties:

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Ik heb een linux-server met daarop een Firebird database server. Nu wil ik in mijn Delphi-app (die op een Windows-PC draait die aan hetzelfde netwerk hangt) de gegevens uit de databases opvragen die op die server draaien. Hoe pak ik zoiets aan? (Kon op Google zo gauw niks vinden)

Als ik probeer interbase compo's te gebruiken dan begint ie te zeuren dat ik interbase/firebird lokaal moet installeren, maar dat is niet de bedoeling.

Ik heb geen idee hoe ik dit verder moet aanpakken; zo'n DB-expert ben ik niet. :) Ik denk dat ik een socketconnectie moet maken en dan op een of andere manier SQL erin moet poepen, maar hoe het precies werkt weet ik niet.

Kan iemand mij een tip geven?

edit:
Misschien ff handig om erbij te vermelden wat ik al heb bedacht:
Het lijkt me mogelijk dat je via dbExpress iets moet kunnen regelen. De built-in IB-driver geeft echter geen mogelijkheid om een remote-hostname in te voeren...

[ Voor 16% gewijzigd door pelleke op 30-10-2004 20:06 ]


Verwijderd

Je moet een paar dingen doen.
1) Firebird installeren op je server :)
2) als path naar de database moet je het volgende opgeven
host:drive:\path\database.gdb
waarbij drive:\path\database.gdb verwijzen naar de pathnaam op de server.
Dus iets van

DatabaseServer:c:\database\databasenaam.gdb

Wel heb je wat interbase tools lokaal nodig. Niet de complete database maar de client tools om verbinding met de database te maken. Bij interbase kon je die apart installeren.

[ Voor 23% gewijzigd door Verwijderd op 30-10-2004 20:35 ]


Verwijderd

pelleke schreef op 30 oktober 2004 @ 20:01:
Als ik probeer interbase compo's te gebruiken dan begint ie te zeuren dat ik interbase/firebird lokaal moet installeren, maar dat is niet de bedoeling.

Ik heb geen idee hoe ik dit verder moet aanpakken; zo'n DB-expert ben ik niet. :) Ik denk dat ik een socketconnectie moet maken en dan op een of andere manier SQL erin moet poepen, maar hoe het precies werkt weet ik niet.

Kan iemand mij een tip geven?
Je moet sowieso ff de Windows versie downloaden (gezipte versie). In een tekstbestandje staan instructies met betrekking tot de client dll. (fbclient.dll of gds32.dll als ik me niet vergis).

Het kan zijn dat de componenten die standaard bij Delphi zitten op zoek gaan naar gds32.dll

Een standaard connectiestring ziet er zo uit:
http://firebird.sourceforge.net/manual/qsg10-connecting.html

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Was idd vergeten client te installen. (Ik heb de Borland Interbase Client 6 geinstalled, kon je downloaden van hun website.)

Is die DLL de enige file die de eindgebruiker van de software uiteindelijk nodig heeft?

Verwijderd

Hangt er een beetje vanaf wat je precies vanaf de client wil gaan doen. Als je bv ook backups van de database wil kunnen maken of de database sweepen heb je nog iets meer tooltjes nodig.

Zelf zou ik gewoon een kant en klare module aan mijn installer toevoegen. Die paar Mb die je verspilt op de harddisk door gewoon de complete client te installeren weegt niet op tegen de extra mogelijkheden die je hierdoor krijgt.

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Verwijderd schreef op 31 oktober 2004 @ 13:59:
Zelf zou ik gewoon een kant en klare module aan mijn installer toevoegen. Die paar Mb die je verspilt op de harddisk door gewoon de complete client te installeren weegt niet op tegen de extra mogelijkheden die je hierdoor krijgt.
Bedoel je dat je de installer van de Interbase Client gewoon meepackt in je eigen installer, en vervolgens laat uitvoeren na de installatie van je eigen softwarepakket?

offtopic:
Het moet een kassasysteem worden dat in winkels gebruikt wordt btw, die moeten natuurlijk lekker kunnen communiceren. Het is gebaseerd op een oude app die mijn baas 15 jaar geleden in Clipper/FoxBase heeft geschreven. Dit moet natuurlijk veel mooier worden :)

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 20-05 14:02

Tomatoman

Fulltime prutser

pelleke schreef op 31 oktober 2004 @ 15:28:
[...]


Bedoel je dat je de installer van de Interbase Client gewoon meepackt in je eigen installer, en vervolgens laat uitvoeren na de installatie van je eigen softwarepakket?

offtopic:
Het moet een kassasysteem worden dat in winkels gebruikt wordt btw, die moeten natuurlijk lekker kunnen communiceren. Het is gebaseerd op een oude app die mijn baas 15 jaar geleden in Clipper/FoxBase heeft geschreven. Dit moet natuurlijk veel mooier worden :)
De Interbase client mag je niet zomaar distribueren volgens mij. Kijk even in je licentieovereenkomst van Delphi in hoeverre je die mag meeleveren. Firebird levert natuurlijk geen enkel probleem op.

Een goede grap mag vrienden kosten.


Verwijderd

pelleke schreef op 31 oktober 2004 @ 13:39:
Was idd vergeten client te installen. (Ik heb de Borland Interbase Client 6 geinstalled, kon je downloaden van hun website.)

Is die DLL de enige file die de eindgebruiker van de software uiteindelijk nodig heeft?
Ik snap sowieso niet waarom je de Borland Interbase Client 6 hebt gedownload?

Welke versie van Firebird gebruik je nu op de Linux-machine?

Ga naar de volgende locatie: Firebird: File list
Hier kun je het setup/zip-bestand downloaden voor Firebird (client/server).

Het enige wat je nodig hebt is de juist .dll.

Client library
--------------
Some legacy Windows tools will not recognise the client library
fbclient.dll and/or will not find it in its default location, now the
..\bin directory beneath the Firebird root.
For example, the Borland IBConsole program will not work with
fbclient.dll, even if it is copied to the system directory and renamed
to gds32.dll.

The Windows kits contain a program named instclient.exe that can be
used to build a "legacy-compatible" gds32.dll and optionally install
it to your system directory. It is essential to read the release
notes and the accompanying README_library_install.txt (in the ..\doc
subdirectory) before performing this change.
pelleke schreef op 31 oktober 2004 @ 15:28:
[...]

Bedoel je dat je de installer van de Interbase Client gewoon meepackt in je eigen installer, en vervolgens laat uitvoeren na de installatie van je eigen softwarepakket?
Dat is helemaal nergens voor nodig.
Het enige wat je nodig hebt is de juiste .dll (en eventueel msvcp60.dll). Deze bestanden plaats je gewoon in de directory waar je applicatie geinstalleerd wordt.

http://www.destructor.de/firebird/1.5/minimumclient.htm

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Ok! Tnx voor deze wijze uitleg. Wist niet dat er ook een freeware/OS client was.

Dus als ik 't goed begrijp kan je de DLL gewoon uit het installatiepakket / een bestaande server-installatie fetchen? Wist niet dat het zo simpel was... >:)

Kan je zo'n DLL file ook meecompileren in je executeable? Dat zou helemaal chique zijn, maar natuurlijk niet van levensbelang. :)

[ Voor 29% gewijzigd door pelleke op 03-11-2004 18:11 ]


Verwijderd

Gebruik van tools als gbak is toch ook wel erg prettig op de client :)

Aangezien Interbase 6 gewoon open source is mag je die tools ook gratis verspreiden. De firebird client is natuurlijk wel aan te bevelen aangezien daar wel wat bugfixes in zitten en waarschijnlijk ook wat aanpassingen voor de extra firebird features. Echter de IB client werkt ook nog steeds en soms zelfs beter.

Aangezien er verschillede script voor bv wise, ms installer en installshield zijn die je gewoon met 1 click in je eigen installer hangt en daarna als onderdeel van die installer geinstalleerd worden is het installeren van de complete client niet lastiger dan dat van de enkele DLL. Wel is het voor gebruikers vaak prettiger. Hoeven ze niet steeds naar de server te lopen om administratieve taken uit te voeren maar kan het vanaf de client. Ook kun je dit soort taken dan vanuit je eigen programma regelen in plaats van het gebruik van externe tools.

Maar goed, dit blijft een kwestie van smaak. Ik houd er in ieder geval niet van om halve clients te installeren waardoor third party programma's niet werken en de support vragen weer toenemen. En waar praten we over, inclusief alle tools en helpfiles is mijn IB directory nog geen 8mb groot.

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Het kan zijn dat ik het verkeerd heb begrepen, maar volgens mij is alleen maar een bepaalde versie van IB6 OS.... Er is volgens mij ook een commerciele versie van. En bovendien wil OS nog niet meteen zeggen dat je het ook officieel in je software mag toepassen en verkopen...

Verwijderd

Versie 6 is open source, versie 6.5 en 7 weer niet :)

Wat er gebeurd is, is dat Borland het Open source gemaakt heeft maar daarna ruzie heeft gekregen met een paar medewerkers. Deze mensen wilden uit borland vertrekken en zelfstandig de open source versie onderhouden maar toch nog flink wat geld van Borland krijgen voor het onderhoud. Borland vond dat als ze zelfstandig wilden zijn ze ook maar voor hun eigen inkomsten moesten zorgen. Uiteindelijk hebben zij (voornamelijk) de Open Source versie 6 gepakt en doorontwikkeld onder de naam firebird terwijl een andere gedeelte van de Borland werknemers versie 6 ook doorontwikkeld heeft naar versie 6.5 en 7. Het open source maken van Interbase is dus een beetje een fiasco geworden.
Het grootste probleem is dat deze nieuwere versies niet meer geheel compatible zijn beide versies hun eigen voor en nadelen hebben.

Maar aangezien versie 6 dus de officiele open source versie is kun je die versie wel zomaar gebruiken. Wel is het dus zo dat niet alle nieuwe firebird en borland features erdoor ondersteund worden. Wat dat betreft is de firebird client een iets betere keuze voor iemand die firebird gebruikt maar zo heel veel is er in de firebird client nu ook weer niet veranderd.

En dat OSS niet per definitie zomaar gebruikt mag worden is waar, maar als je de 6.0 client niet zomaar mag gebruiken mag je de firebird client ook niet gebruiken. Die is tenslotte op de 6.0 client gebaseerd.

[ Voor 8% gewijzigd door Verwijderd op 03-11-2004 19:30 ]

Pagina: 1