1

I have software developed in Delphi with Firebird 3 database that is already ready. I would like to distribute this software to clients without installing the database physically on the client. So the database would stay on my server. I do not like the idea of distributing the database to the client for several reasons, so this would be my last option.

I thought about several possibilities like: RDP, direct connection through port 3050, VPN (that would better serve the functionality of the software). In the test that I performed with VPN using IKEv2 protocol I obtained excellent results in the matter of performance and stability, however I doubt if this would be the best approach, since it would have to create a VPN connection for each user that would connect to the software.

So I'd like to get firebird database connection experiences over the internet.

Marcoscdoni
  • 955
  • 2
  • 11
  • 31
  • I suggest you create a REST service instead, instead of directly exposing a database over the internet. – Mark Rotteveel Oct 30 '17 at 12:10
  • @Mark Rotteveel, I agree that it would be the best solution for a new project. However, in this specific case it is a large system. At least at the moment this would not be an option. It is a system that manipulates a database with 172 tables, 101 procedures... It would take a long time to create a REST service with all the functionality already in place for the software – Marcoscdoni Oct 30 '17 at 12:51
  • Firebird supports TCP connections, which works just fine over the Internet, provided any intermediate routers between client and server are configured for port forwarding accordingly, and any firewalls have the port open. – Remy Lebeau Oct 30 '17 at 18:14
  • Thanks for the reply Remy Lebeau. I know that firebird works by configuring ports on router / firewall. However, as I said I am in doubt about this approach because data is not encrypted. Have you had any experience with Firebird using VPN, SSH, or any other way that provides security for the connection? – Marcoscdoni Oct 30 '17 at 20:09
  • Firebird 3 has wire protocol encryption, as long as you use a fbclient.dll of Firebird 3 (or other connection library that supports wire encryption) , and use a SRP user (and not legacy authentication user). But even then, SSH or a VPN would be advisable, because you simply don't want to expose the database server to the internet. However the FB protocol is relatively chatty which is not good for performance on high latency connections. – Mark Rotteveel Oct 31 '17 at 09:34
  • @Mark Rotteveel In tests that I performed I obtained encouraging results with VPN using IKEv2 protocol. There is also a test performed by "Cantu" with encouraging results. https://www.firebirdnews.org/firebird-3-protocol-benchmark/ I'm analyzing the pros and cons of different approaches. Thanks for the answers. – Marcoscdoni Oct 31 '17 at 13:13
  • @Marcoscdoni.Hi.I've done a test with a VPS on .NET +Firebird 3.0.4 and got poor performances over the Internet.how have you used VPN with Firebird?.thanks – mrapi Feb 27 '19 at 16:57

0 Answers0