通过 GPRS 连接到 SQL 没有 public IP 的实例

Connect via GPRS to SQL Instance without public IP

我们有以下设置:

状态:

通过以上设置,我可以通过 GPRS 从移动设备直接 ping Windows 服务器内部 IP。

问题:

我的反串是:

"Data Source =xxxxxxxx,1433;Initial Catalog=xxxxx;Integrated Security=SSPI;User id=xxxxx;Password=xxxxx;Connect Timeout=15"

编辑:

更多问题:

如果您有 VPN 并且可以 ping 通内部服务器,那么您可以可以直接连接到 SQL 服务器,使用 .Net Framework 中可用的普通数据访问库.话虽如此,我强烈建议不要这样做。最好有一个在移动设备和数据库之间连接的中间层服务。这里有一些原因(不在我的脑海中)为什么这样更好:

  • 移动连接本质上不稳定,SQL 连接处理能力不佳。
  • 拥有一项服务意味着您甚至不需要 VPN,因为它可以 public 面对(当然具有相关的安全性)。
  • 如果您将来决定从 SQL 服务器移动到 DocumentDB/Azure/carrier 鸽子,那么您需要更新每个移动设备以应对变化。如果你有一个中间服务器,你可以更新它。
  • 如果数据库架构发生变化,您可能会一次性破坏所有客户端应用程序。
  • 您的中间层可以做其他有用的事情,例如缓存、日志记录等。