.net 从可执行文件调用数据库到其他位置的可能性

.net 从可执行文件调用数据库到其他位置的可能性,.net,database,exe,.net,Database,Exe,我想知道是否有多种可能从另一个位置的可执行文件调用数据库。可执行文件是一个.Net应用程序。 我知道借助Web服务是一种可能。但是还有更多吗?A应该通过网络工作。连接字符串包括服务器名称或IP地址之类的内容作为连接字符串。只要中间有一个可访问的网络,就可以通过各种方式调用您的数据库。如果您谈论的是对数据库的远程访问,下面是一个(可能不完整)列表: 运行数据库服务器的机器上的一些服务来回传递数据(如您所说,是一个web服务,但它不需要是web服务,也可以是简单的TCP或UDP通信。web服务只是增

我想知道是否有多种可能从另一个位置的可执行文件调用数据库。可执行文件是一个.Net应用程序。
我知道借助Web服务是一种可能。但是还有更多吗?

A应该通过网络工作。连接字符串包括服务器名称或IP地址之类的内容作为连接字符串。只要中间有一个可访问的网络,就可以通过各种方式调用您的数据库。

如果您谈论的是对数据库的远程访问,下面是一个(可能不完整)列表:

  • 运行数据库服务器的机器上的一些服务来回传递数据(如您所说,是一个web服务,但它不需要是web服务,也可以是简单的TCP或UDP通信。web服务只是增加了更多的舒适性)。这样做的好处是您不会向公众公开数据库服务器。但是,您仍然需要确保通信的安全,否则任何人都可以通过该服务操纵数据库
  • 您可以使数据库服务器可以从外部世界访问,甚至可以通过internet访问。这意味着,您可以在防火墙中打开DB服务器的端口。任何知道凭据的人都可以登录到服务器。这样做既简洁又方便,缺点是如果你选择弱密码,黑客可能会进入你的数据库
  • 您可以确保同一网络上的计算机可以访问数据库,然后将运行应用程序的计算机拨入VPN。这对用户来说可能不是很舒服(如果没有拨入VPN,您的应用程序将无法工作),但从程序员的角度来看,这也是通过internet舒适地进行通信的最安全方式(意思是:与同一网络上的任何其他机器一样舒适)

  • 这基本上是一个安全性高于舒适性的问题。

    web服务路线始终是一个有趣的路线(通过这种方式,您可以以某种方式构建软件,例如,您的部分或大部分业务逻辑可以驻留在所述服务中)


    使用WebAPI自托管服务是可能的,这样你甚至不需要在IIS中运行应用程序,而是作为一个独立的应用程序运行,例如作为Windows服务。

    @ThorstenDittmar当然,有无数种可能它不起作用。当我说“网络”时,我指的是一个可访问的应用程序,工作网络。虽然这是真的,但实际上并不是问题的答案。也许我可以把我的问题说得更清楚。我将exe发送到客户端。如果客户端打开exe,它必须更改数据库中位于其他位置的字段。是的,您的问题本可以更清楚,但我的答案仍然有效。:-)这是实现这一目标的三种方法。您只需检查场景—数据库是否驻留在客户机的网络中?使用2),但不要打开到internet的端口,只能在本地网络中打开。沟通必须通过互联网吗?根据你想做多少工作,使用1、2或3中的任何一种。当然,至少:P哈哈,开玩笑吧,它一定很安全。这是主要的要求哦,我想这是最难保证的。如果选择正确的VPN类型,VPN方法是最安全的。真正的工作是配置和保护VPN。方法2)非常容易设置,为每个登录选择强密码(甚至证书身份验证)(在应用程序将使用的帐户中添加强关键字没有意义,但将“12345”指定为服务器管理员帐户的密码)也会使其安全。