1

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

4

3 回答 3

1

数据访问是一个独立于应用程序的问题。

您的应用程序是基于桌面还是基于 Web 并不重要,因为(Web 和桌面)都将使用 C#,它们使用相同的代码来访问数据库。

它是在同一台机器上还是在世界的另一端也没关系,它(可能)会通过 TCP/IP 进行连接。

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

于 2013-10-14T08:45:15.697 回答
1

你对 SQL 服务器没问题。

代码访问数据库的唯一要求是它可以实际访问它(即建立到数据库的连接)。

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

考虑到这一点,开发您的应用程序,就好像数据库是本地的(我实际上建议您在开发期间针对本地 SQL 服务器实例执行代码),并在稍后修改连接字符串时担心数据访问(只要您确定您将拥有允许这种连接的设施)。

如果您是新手,我建议您花一些额外的时间来安装 SQL 服务器的配置。这不会是一项艰巨的任务,但如果您正在估算时间,请不要低估它。

于 2013-10-14T08:45:29.867 回答
1

桌面应用程序访问的网站数据库!我编写了一组简单的 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 桌面应用程序可能比在网站上尝试更容易。

于 2016-02-04T15:37:04.960 回答