【问题标题】:Storing data and making it accessible for users over the internet存储数据并让用户可以通过 Internet 访问这些数据
【发布时间】:2017-08-16 14:14:53
【问题描述】:

我是 SQL Server、数据存储和 Web 技术的初学者,所以我不知道如何完成我想要实现的目标。我是一个爱好 C# 的程序员,让我们假设我的程序允许你输入一个文本,比如一篇文章,所以它是一个巨大的基本 string。

我正在使用 SQL Server 2014 Express,并且我知道可以将其设置为可供其他用户通过 Internet 访问。目前我只有少量数据。因为我在互联网上读到存储例如存储从来都不是一个好主意。里面有一个巨大的string,这不是要走的路。

我听说您可以将那个string 对象的存储位置保存在 SQL Server 数据库中并用它来访问它。

如果上面的这种方法是一个很好的工作解决方案,这是我的问题。这样我就可以保存数据,例如在 VM 中,并通过用户标识使该 VM 可通过 Internet 访问,SQL Server 数据库为您提供连接到 VM 数据的信息以及有关所请求对象的存储位置的信息。我希望用户能够从其他用户上传和下载数据,但所有数据都在一个公共场所。 (比如我电脑上的虚拟机或其他电脑)

作为一名学生,我没有钱购买网络服务或网络服务器,但我很好奇您对整个主题的看法。我不想要你的任何代码,只是关于这些天全球数据存储/共享方式的想法。

【问题讨论】:

  • 基于意见的问题不是有效问题,请阅读发布指南
  • 这不是一个意见,我只是不知道有什么好的方法是如何做到这一点的,如果我想尝试的甚至是可能的。我想要的只是关于常用技术的事实。例如。他们怎么称呼我可以自己教,我只是不想开始基于一个糟糕甚至旧的概念/想法的项目。

标签: c# sql-server database data-storage dataprovider


【解决方案1】:

SQL Server 是一个数据库,所以是的,它可以保存信息(甚至是一个巨大的字符串,这将是一种称为 varchar(max) 或 nvarchar(max) 的数据类型,具体取决于您是否需要它来保存其他语言。如果您将Web 服务器上的代码,然后是 VM 中的 SQL Server,虽然我不会授予 VM 访问 Internet 的权限,但我只会授予它访问网站的权限,并让网站从数据库中放置/提取信息。不过,您可能想研究一下 SQLite 之类的东西 - 如果您只想存储一个字符串,SQL Server 可能会过大。

SQLite 是免费的,因此您无需付费。几乎任何数据库都可以将图像存储为二进制对象,因此您可以在 SQL Server 或 SQLite 中执行此操作。 SQLite 的教程在这里:https://www.codeproject.com/Articles/196618/C-SQLite-Storing-Images

MySQL 是另一种选择 - 它实际上只取决于您需要的服务器有多强大,以及您尝试使用您的网络代码做什么,什么是最合适的。

【讨论】:

  • string 只是一个基本示例,正如我所说,我不想要任何我必须支付的网络服务。 SQLite 是另一种选择,但如何存储和访问图像?
  • 如果您说您想直接授予对数据库的 Internet 访问权限,并且没有任何类型的编程来处理信息,我真的要强调这几乎(从来没有?)在现实世界中完成真是个坏主意。我强烈建议您使用某种基于 Web 的代码来呈现该信息。
  • @ElementZero,SQL Server Express Edition 也是免费的。
  • @DanGuzman 是的,我知道。我想他已经知道了,因为他说他已经在使用它,所以我没有提到它,但你是对的,我想我应该把这一点说清楚。只是 SQL Express 有一些限制,可以通过 SQLite 或 MySQL 社区来克服,所以我提供不同的选择,因为他说他没有钱支付。同样,这取决于他想做什么(他没有具体说明的全部范围)。
  • 感谢您的建议,但我将尝试通过一个示例以简短的基本方式解释我的要求。我有一个 C# 应用程序,您可以在其中输入和保存文本,并且您应该能够上传此图像和本地图像。有什么好方法可以上传这些内容并从互联网免费访问它们?只是存储在本地数据库中并通过互联网授予数据库访问权限?用另一台电脑设置本地服务器并授予这个互联网访问权限,通过应用程序我可以连接到这个家庭服务器吗?你有什么建议?
【解决方案2】:

我永远不会让互联网上的其他人访问任何虚拟机,除非它位于某种 VPN 背后并受到适当保护,并且这些人是您组织的一部分。您要做的是设置一个 API,用户可以在其中注册,获取有效的 API 令牌,然后请求可能在您的数据库中的某些信息。

如果您正在学习,将 PHP REST API(或任何您喜欢的语言的 REST API)与 MySQL 结合使用通常是从大量文档开始的好地方。您可以使用 laravel 或 codeigniter 等框架来做到这一点。

如果您想坚持使用 Microsoft 的 SQL 服务器,那么您可能会在扩展时遇到一些许可问题。除此之外,我对asp.net / vb.net(微软的框架)不太熟悉

祝您搜索顺利。

【讨论】:

  • 谢谢,我会看看,看看这对我的项目是否有帮助。
猜你喜欢
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
  • 2018-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
相关资源
最近更新 更多