Connect directly to a remote SQL Server with Delphi
I've created a Delphi application that runs on multiple client computers across the country. The database it uses is SQL Server which is heavily dependent on stored procedures.
The problem is the DB needs to be on a central server with no application server in the middle - so开发者_Python百科 options like web services are not possible. Also the application must access the database server directly - and all clients must connect to this single database.
How can this be done?
Use a VPN. It will protect the communication channel between your application and the database, while the database is not on the Internet. Once the VPN is active, you can connect to the database as it was local. Expposing the DB server directly on the Internet may be very dangerous, simple scans may identify it and the vulnerability exploit could be tried. There could be a way to achieve something alike using specific security software and appliances, but it could cost far way more than using a VPN. Windows server comes with VPN software in the box (it's in the Routing service), and there are some free solution as well (i.e. OpenVPN). Most firewall/routers have VPN endpoint capabilities - just need to be configured, and usually they support RADIUS authentication, if not Active Directory directly.
Each client must use the TADOConnection component that establishes a connection to the server specified in the ADO connection string.
精彩评论