桌面应用程序的数据库托管
本文关键字:数据库 应用程序 桌面 | 更新日期: 2023-09-27 18:35:10
我正在寻找一种通过应用程序访问数据库(sql server或mysql)的方法。棘手的部分是应用程序(基于 C#)将出现在多台计算机上,并且它们都必须访问相同的数据,这意味着我必须考虑一种托管数据库的方法。这就是我需要帮助的地方...我在互联网上找到的只是网站数据库,这些数据库在桌面应用程序或付费托管中无法访问......从我的机器托管数据库也是一种选择,尽管我不确定这是否可行。因此,欢迎各种选择。
你对SQL服务器很好。
代码访问数据库的唯一要求是它可以实际访问它(即建立与数据库的连接)。
我最近做了一个项目,所有计算机(总共7台)都已经连接到一个小型办公室网络中。其中一台计算机被选为主机并充当数据库服务器,而所有其他"客户端"计算机上的代码都包含指向这台主机的连接字符串;我的印象是这就是你所追求的。
考虑到这一点,请像开发数据库一样开发应用程序(我实际上建议您在开发期间针对本地 SQL Server 实例执行代码),并在以后修改连接字符串时担心数据访问(只要您确定您将拥有允许此连接的工具)。
如果您不熟悉,我建议您考虑一些额外的时间来安装 SQL 服务器的配置。这不会是一项艰巨的任务,但如果您正在按时间估算工作,请不要低估它。
数据访问是一个独立于应用程序的问题。
您的应用程序是基于桌面的还是基于 Web 的并不重要,因为(Web 和桌面)都使用 C#,它们使用相同的代码来访问数据库。
无论是在同一台机器上还是在世界的另一端,它(可能)都会通过TCP/IP进行连接。
你做什么,完全取决于需求/预算。
桌面应用程序访问的网站数据库!我编写了一组简单的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://提出的请求...
由于往返数据访问时间,应用程序比数据库位于本地服务器上时慢一些。您可以通过在发布请求中要求某些凭据来保护访问。
一个好处是,独立用户无需在特定网络上即可访问数据。
对于开发人员来说,开发具有复杂 UI 操作的 Windows 桌面应用可能比在网站上尝试更容易。