C# 桌面应用程序的数据库托管

C# 桌面应用程序的数据库托管,c#,database,hosting,C#,Database,Hosting,我正在寻找一种通过应用程序访问数据库sql server或mysql的方法。棘手的是,基于C的应用程序将出现在多台机器上,它们都必须访问相同的数据,这意味着我必须考虑一种方法来托管数据库。这就是我需要帮助的地方…我在互联网上找到的只是无法通过桌面应用程序或付费主机访问的网站数据库。。。从我的机器托管数据库也是一种选择,尽管我不确定这是否可行。因此,各种选择都是受欢迎的。数据访问是一个与应用程序无关的问题 不管你的应用程序是基于桌面还是基于web的,因为web和桌面都使用C,它们使用相同的代码访问

我正在寻找一种通过应用程序访问数据库sql server或mysql的方法。棘手的是,基于C的应用程序将出现在多台机器上,它们都必须访问相同的数据,这意味着我必须考虑一种方法来托管数据库。这就是我需要帮助的地方…我在互联网上找到的只是无法通过桌面应用程序或付费主机访问的网站数据库。。。从我的机器托管数据库也是一种选择,尽管我不确定这是否可行。因此,各种选择都是受欢迎的。

数据访问是一个与应用程序无关的问题

不管你的应用程序是基于桌面还是基于web的,因为web和桌面都使用C,它们使用相同的代码访问数据库

不管它是在同一台机器上还是在世界的另一端,它都可能通过TCP/IP进行连接


你做什么,完全取决于需求/预算。

你对SQL server很在行

代码访问数据库的唯一要求是它能够实际访问数据库,即建立与数据库的连接

我最近做了一个项目,所有的计算机总共7台已经连接到一个小型办公网络中。其中一台计算机被选为主机并充当DB服务器,而所有其他“客户端”计算机上的代码包含指向该主机的连接字符串;我觉得这就是你想要的

考虑到这一点,开发应用程序时应将DB视为本地数据库。实际上,我建议您在开发过程中针对本地SQL server实例编写代码,并在以后修改连接字符串时担心数据访问问题,只要您确信您将拥有允许此连接的设施

如果您是新手,我建议您在安装SQL server配置时考虑一些额外的时间。这不会是一项繁重的任务,但如果您正在估算非工作时间,请不要低估它。

通过桌面应用程序访问网站数据库!我编写了一组简单的PHP页面,提供从远程web服务器上的MySQL数据库到桌面windows窗体应用程序的查询访问。这些页面使用小型PHP脚本提供插入、选择、更新和删除功能。C桌面应用程序通过System.Net.Http.HttpClient将sql语句发布到这些网页。这些页面执行sql并将信息返回到System.Net.Http.HttpResponseMessage对象

对于select语句,php有一个小脚本,将数据库行转换为XML以返回到响应对象。然后可以使用System.Data.DataSet通过ReadXml方法导入XML字符串

我的网站有固定的IP和SSL证书。脚本需要https://... 并拒绝任何有正当理由的请求http://...

由于往返数据访问时间的关系,应用程序的速度比数据库位于本地服务器上时稍慢。您可以通过在post请求中要求某些凭据来保护访问

一个好处是,独立用户可以访问数据,而不必在特定的网络上


对于开发人员来说,开发具有复杂UI操作的windows桌面应用程序可能比在网站上尝试更容易。

您能再扩展一些吗?需求/预算?为桌面或web客户端编写DB层基本上没有区别,除非这些应用程序是通过私有网络从受信任的客户端运行的。我的意思是,在一些网站上,例如当你创建数据库时,它在你的项目中是不可访问的。没有简单的方法可以避免写一个中间层来适度访问数据库。仅仅因为它是一个桌面应用程序并不意味着数据库应该直接向世界公开。您不应该直接从应用程序访问数据库。您应该访问通过HTTP操作公开数据库上某些操作的web服务器。这是一种久经考验的方法。它得到了.Net的良好支持。请看一看WebAPI以开始。你需要提供更多的信息。这难道不能在你自己的机器上托管吗?因此是免费的吗?嗯,我不确定这些机器是否会在一个网络和一个物理位置……但这是一个不错的想法。老实说,保证这些机器以某种方式连入网络,即使是通过互联网也是唯一的想法。对于要连接到DB的应用程序的每个实例,它必须以某种方式连接到承载DB的机器。这是我真正想要做的。好的,那么他们可以上网了,我可以有更多关于如何执行的信息。我应该以某种方式连接它们吗?我不知道该怎么做。这对我有用吗?谢谢你的帮助:我会测试,如果我有困难,我会发布新的:好吧,总结一下,我需要100MB的数据库,如果可以免费的话。Azure?Aws免费层?