Directly connecting to a database over the Internet is always a serious security risk. Don't do it. You can't do it with Jet, SQLite, etc. anyway since they are embedded file-based databases.

You can write and consume Web Services or you can look into RDS, which is old but works just fine. In either case you'll have to rewrite your application some to use a disconnected model of data access.

Another possibility would be SQL Azure, which can be used with a recent SQL Server Native OLEDB Provider (though this is not supported). That's a little bit bleeding edge though.


None of these will perform like a local database. You can't expect them to, so you need to graduate to another way of programming that doesn't hit the database so frequently or do large transfers. There is no quick fix to go from a monolithic application to an Internet client/server application.