Is it possible to use Firebird over Internet?


Short answer: Yes.

Long answer:

Firebird works like any other TCP/IP server. It listens for incoming connections on port 3050 (by default). If your server is behind a firewall, you need to forward port 3050 to it. If you use events, you need to set up the RemoteAuxPort setting in firebird.conf and forward that port as well. Events can only be forwarded to Super Server, Classic does not work. For the reasons, read here:

http://www.flamerobin.org/events_paper.pdf


Firebird has a rather heavy network protocol (a lot of chit-chat), so it isn't really comfortable to work accross the Internet. You can use some tunneling software like ZeBeDee, SSH or SSL to encrypt and compress the data, but latency is the main problem as a lot of messages go back and forth (and transfering a lot of small messages over Internet is much slower than one big message).

For this reason it's better to use some middleware or serve the content as web pages (if applicable to your requirements) or use some kind of SOAP.

Please note that Firebird 2.1 has significant improvements to the network protocol (less communication for the same queries), so make sure you use at least 2.1 if you want work over Internet or other slow link.


Do you find this FAQ incorrect or incomplete? Please e-mail us what needs to be changed. To ensure quality, each change is checked by our editors (and often tested on live Firebird databases), before it enters the main FAQ database. If you desire so, the changes will be credited to your name. To learn more, visit our add content page.

If you are a commercial tool maker and your tool features a great way to handle the issue written about in this FAQ, please check out our advertisement page.



All contents are copyright © 2007-2017 FirebirdFAQ.org unless otherwise stated in the text.


Links   Firebird   News   FlameRobin   Home Inventory powered by FB  
Add content   Advertise   About  

Categories
 Newbies
 SQL
 Installation and setup
 Backup and restore
 Performance
 Security
 Connectivity and API
 HOWTOs
 Errors and error codes
 Miscellaneous