2

在我的 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 - 错误定位服务器/指定的实例)

如何解决这个问题?

谢谢!

4

1 回答 1

2

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

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

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

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

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

于 2013-03-28T13:21:11.790 回答