Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从我的软件访问联机SQL Server数据库_Sql_Sql Server_Database - Fatal编程技术网

从我的软件访问联机SQL Server数据库

从我的软件访问联机SQL Server数据库,sql,sql-server,database,Sql,Sql Server,Database,我一直在使用SQL Server数据库开发该软件。现在我正处于为其他人提供此软件的阶段,但我不知道如何管理数据库。问题是,在安装我的软件时,在用户计算机上同时安装SQL Server确实很不方便(可能会发生许多意想不到的事情) 因此,我想我会用SQL Server支付网络托管费用,但事实是: 价格昂贵(仅适用于表很少的数据库) 大多数web主机不提供对SQL Server数据库的远程访问(因此我无法从软件连接到那里) 所以我的问题是,你会怎么做?我自己的虚拟服务器?(甚至更贵),或者您会在用户计

我一直在使用SQL Server数据库开发该软件。现在我正处于为其他人提供此软件的阶段,但我不知道如何管理数据库。问题是,在安装我的软件时,在用户计算机上同时安装SQL Server确实很不方便(可能会发生许多意想不到的事情)

因此,我想我会用SQL Server支付网络托管费用,但事实是:

  • 价格昂贵(仅适用于表很少的数据库)
  • 大多数web主机不提供对SQL Server数据库的远程访问(因此我无法从软件连接到那里)

  • 所以我的问题是,你会怎么做?我自己的虚拟服务器?(甚至更贵),或者您会在用户计算机上安装SQL Server?或者,您知道在哪里可以只使用SQL Server托管以降低成本吗?

    我不建议使用远程SQL Server。SQL连接在很大程度上依赖于网络连接,而Internet对此还不够“稳定”。还有一些性能问题会使您的应用程序完全无用

    您没有提到的一件重要事情是,不同的用户是共享相同的数据还是拥有自己的数据。如果每个用户都将使用自己的数据,则可以安装“本地”SQL Server版本(SQL Compact Edition,以下是参考)

    如果多个用户共享相同的数据,您不应该只依赖数据库。一种可能的方法是让应用服务器实现业务逻辑,而桌面应用程序保持actiong作为“哑”客户机。这对性能和减少数据传输问题有很大帮助。您可以为您的应用服务器实现Web服务。这是一个很好的解决方案,因为数据通过HTTP/HTTPS从应用程序服务器传输到客户机,这使您不再需要处理端口和其他通信问题。另一种方法是使用Microsoft通信框架(WCF)


    祝你好运