【问题标题】:How to use ASPNETDB on shared hosting?如何在共享主机上使用 ASPNETDB?
【发布时间】:2013-03-18 16:36:50
【问题描述】:

在我的 asp.net 网站上,我使用本地数据库,连接字符串是

Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyDataBase.mdf;Integrated Security=True;Connect Timeout=30

所以,MyDataBase.mdf 在 APP_DATA 文件夹中。

我需要使用标准的 asp.net 会员提供程序,为此我运行实用程序 C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regsql.exe 它在 APP_DATA 文件夹中为我创建了新的 DB ASPNETDB.MDF(并记录了 aspnetdb_log.ldf),我通过“ASP.NET 配置”在其中填充了用户和角色

我将它上传到我的共享主机并且网站运行良好,包括从 MyDataBase.mdf 数据库获取数据, 但是一旦我想要登录 ASPNETDB.MDF 中的用户,网站就会抛出一个错误:

发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 定位服务器/实例时出错 指定)

如何解决这个问题?

谢谢!

【问题讨论】:

    标签: asp.net sql-server localhost aspnetdb


    【解决方案1】:

    当您说“...网站运行良好,...”(您的网站,他们的网站)时,我不确定您的意思。

    我运行站点的大多数共享托管站点都不允许运行 SQL Server Express 数据库,因为它的资源管理。

    您需要做的是使用站点 SQL Server 数据库。通过他们的管理控制台,您应该会看到一种创建数据库实例的方法。他们将/应该为您提供程序将用于连接数据库的连接字符串。使用此连接字符串,您可能无法从家里连接到它(一些网络主机允许其他网络主机不允许)。

    如果您可以使用 Sql Server Management Studio 通过家庭进行连接,那么您的状态就很好。您可以使用 aspnet_regsql.exe 并将其指向托管数据库(使用连接字符串选项)并让它生成所有表、视图、角色等。

    如果您无法从家里直接连接到数据库,请让 SQL Management Studio 生成一个脚本(右键单击数据库 -> 任务 -> 生成脚本)并为整个数据库编写脚本。如果您希望数据也能正常运行,请确保您选择了脚本数据和方案的选项(默认情况下未启用)。然后使用这个 sql 脚本(在 .sql 文件中),您可以将其上传到主机并让他们通过管理控制台运行脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 2019-09-30
      • 2018-04-24
      • 2014-01-20
      • 2018-08-02
      • 1970-01-01
      相关资源
      最近更新 更多