【问题标题】:Using SQL Server databases on shared hosting在共享主机上使用 SQL Server 数据库
【发布时间】:2013-09-13 17:14:48
【问题描述】:

我正在尝试部署一个 ASP.NET MVC 4.0 应用程序,并且我正在使用一个共享的 Web 托管解决方案。我能够成功部署所有内容,除了我预先存在的数据库、一个用于用户帐户和一个用于帖子。

这两个数据库位于我的应用程序的App_Data 目录中。

需要数据库通信的应用程序的每个部分都返回以下内容:

键“attachdbfilename”的值无效

我应该注意,在本地测试时不会出现此问题。

我的网络托管服务提供商创建了一个 SQL Server 数据库,为我提供了服务器 IP、用户名/数据库名称和密码。但是我不确定如何访问它,然后在我的网络主机上的数据库中复制我的应用程序中的当前数据库。

基本上我的问题是,如何让我的 SQL Server 数据库在我的虚拟主机上运行?

【问题讨论】:

  • AttachDbFileName=... 功能仅在 Express 版中提供 并且很可能,您的网络托管商不使用 Express 版托管。

标签: c# asp.net sql-server asp.net-mvc


【解决方案1】:

在这种情况下,您不应附加自己的数据库文件。在主机提供的服务器上创建一个新数据库(例如,使用 SSMS 或主机的控制面板)。将本地数据导入该数据库并在连接字符串中使用新的 server/db/uid/password。

如果您的主机已经为您提供了数据库 - 只需使用现有数据库(不要创建新数据库),但仍将您的本地数据导入该数据库。

【讨论】:

  • 感谢您的回答,您能告诉我如何将数据导入数据库吗?就像我说的,我有 IP、名称和密码,但我不确定在更新数据库时如何使用它们。
  • 您能否通过 Sql Server Management Studio 通过 IP 访问该远程数据库?
  • 他们提供的 IP 是这样的 XX.XX.X.X(X 是一个数字),我在“连接到服务器”框中输入了这个,服务器类型设置为“数据库引擎”,身份验证设置为“SQL 服务器身份验证”,然后输入提供的用户名和密码。我收到一条错误消息,提示找不到服务器。
  • 这可能意味着无法从主机网络外部直接访问服务器。或者它可能正在使用不同的端口。我认为您应该联系主机的支持,解释您需要导入现有数据库并询问在他们的环境中最好的方法是什么。他们可能有一个既定的流程。
  • 标记到@YuriyGalanter 的评论 - 我自己以前去过那里很多次。共享主机上的 SQL Server 臭名昭著,因为似乎每个 Web 主机都有自己的一套规则,不仅包括它们如何设置所有内容,还包括您如何访问它。它与产品无关,而与托管公司的政策无关。请联系您的网络托管支持台,以获取有关如何连接到您的数据库服务器的确切协议。
猜你喜欢
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多