English 中文(简体)
Will embedded Firebird/Delphi cause a firewall hit ?
原标题:

I m looking at porting an Interbase 6 / Delphi 7 application to embedded Firebird in Delphi 2007. One of the problems we have is getting our users (often quite an unskilled bunch, really - though I love them to bits, naturally) to unblock our applications in their firewall. Windows firewall itself is fairly straightforward but often they are running McAfee or similar (they tend to buy cheap Dells with this stuff pre-installed) and it seems that each and every variation of this stuff has a slightly different user interface. sigh

Still, I m digressing, sorry. Straight to the point; If my Delphi app connects to an embedded Firebird database, will I still need to all/open something in the user s firewall (as I currently do when installing stuff that makes a connection to normal IB6)?

And if you ve read this far (thanks) - can embedded Firebird be used concurrently on a machine? Let s say we have 2 applications, both of which want to use DIFFERENT databases - could the user run both of these apps simultaneously on the same machine or is there some kind of port binding that goes on under the hood, which we d have to work around?

最佳回答

I have never had a problem with firewalls or McAfee with embedded firebird. (I assume this is because embedded is not really a server and does not require a port to operate)

Yes you can have two apps concurrently, just keep the executables & databases in two different folders.

问题回答

Even using Firebird in a non-embeded install on the local machine we have never bumped into any firewall issues in hundreds of installations. You don t even have to use TCP/IP to connect to the database. We do use TCP/IP, but using the local shared memory protocol would avoid the issue entirely.

Firebird makes an excellent embedded or semi-embedded database. We just install it in it s normal mode and it runs in the background without any user intervention 24x7 for years at a time.

As the embedded version of Firebird doesn t use TCP/IP to talk to the database, you ll be fine on single user machines. Bear in mind that Firebird Embedded is single-user and you won t be able to get two apps talking concurrently to the same database. To do that you d need to install the Firebird server on the machine and in the connection string use localhost:C:DataMyDB.FDB on both apps.

I use UIB to talk to Firebird (I wrote a persistence layer for the OPF I use using it), it s thread-safe (unlike IBX) and I ve found it to be appreciably faster than IBX. There s a version that comes with JVCL and a slightly later version at http://www.progdigy.com





相关问题
determining the character set to use

my delphi 2009 app has a basic translation system that uses GNUGetText. i had used some win API calls to prepare the fonts. i thought it was working correctly until recently when someone from Malta ...

Help with strange Delphi 5 IDE problems

Ok, I m going nuts here. For the last (almost) four years, I ve been putting up with some extremely bad behavior from my Delphi 5 IDE. Problems include: Seemingly random errors in coride50.bpl ...

How to write a Remote DataModule to run on a linux server?

i would like to know if there are any solution to do this. Does anyone? The big picture: I want to access data over the web, using my delphi thin clients. But i´would like to keep my server/service ...

How convert string to integer in Oxygene

In Delphi, there is a function StrToInt() that converts a string to an integer value; there is also IntToStr(), which does the reverse. These functions doesn t appear to be part of Oxygene, and I can ...

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签