在我的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 - 查找服务器/实例时出错 指定)
如何解决这个问题?
谢谢!
答案 0 :(得分:2)
当你说“......网站运行良好,......”(你的网站,他们的网站)时,我不确定你的意思。
我运行网站的大多数共享托管网站由于其资源管理而不允许运行SQL Server Express数据库。
您需要做的是使用网站SQL Server数据库。通过他们的管理控制台,您应该看到一种创建数据库实例的方法。他们将/应该为您提供程序将用于连接数据库的连接字符串。使用此连接字符串,您可能会或可能无法从家连接到它(某些Web主机允许其他人不这样做。)
如果您可以使用Sql Server Management Studio通过家庭连接,那么您的状态良好。您可以使用aspnet_regsql.exe并将其指向托管数据库(使用连接字符串选项),并使其生成所有表,视图,角色等。
如果无法从家直接连接到数据库,请让SQL Management Studio生成脚本(右键单击数据库 - >任务 - >生成脚本)并编写整个数据库的脚本。如果您希望数据也一样,请确保执行脚本数据和方案的选项(默认情况下不启用)。然后使用此sql脚本(在.sql文件中),您可以将其上载到主机并让它们通过管理控制台运行脚本。