如何在共享主机上使用ASPNETDB?

时间:2013-03-28 09:41:04

标签: asp.net sql-server localhost aspnetdb

在我的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 - 查找服务器/实例时出错   指定)

如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

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

我运行网站的大多数共享托管网站由于其资源管理而不允许运行SQL Server Express数据库。

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

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

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