正在尝试将Asp.Net Membership数据库部署到SQL Azure
我一直在尝试让ASP.net成员ship proveider与我的数据库的其余部分一起工作,该数据库托管在SQL Azure中。我已经针对数据库运行了相应的SQLAzure特定脚本来进行设置。这些脚本可从Microsoft的以下位置获得: 但是,每次我使用Visual Studio 10以调试模式运行我的站点时,都会出现以下错误: 执行过程中发生错误 SQL文件“InstallCommon.SQL”的。 SQL错误号为5123,而 SqlException消息是:创建文件 遇到操作系统错误 5(检索此文件的文本失败) 错误。原因:15105)正在尝试 打开或创建物理文件的步骤 'C:\USERS\ROBERTO\DOCUMENTS\VISUAL 演播室 2010\PROJECTS\FLYINGSHAKESTORE\MVCMUSICSTORE\APP\u DATA\ASPNETDB\u TMP.MDF'。 创建数据库失败。一些文件 无法创建列出的名称。 检查相关错误。创建 ASPNETDB_74b63e50f61642dc8316048e24c7e499 数据库 对数据库的所有其他访问都能正常工作。所以它不是我的连接字符串 我认为当第一次调用成员资格提供程序时,ASP.Net会尝试将一个新的Memberhship数据库附加到SQLAzure(无论如何它都不能),因为它认为一个数据库不存在。我不知道如何关闭这种行为 有人知道我能做什么吗 谢谢正在尝试将Asp.Net Membership数据库部署到SQL Azure,asp.net,sql-server,azure,membership,Asp.net,Sql Server,Azure,Membership,我一直在尝试让ASP.net成员ship proveider与我的数据库的其余部分一起工作,该数据库托管在SQL Azure中。我已经针对数据库运行了相应的SQLAzure特定脚本来进行设置。这些脚本可从Microsoft的以下位置获得: 但是,每次我使用Visual Studio 10以调试模式运行我的站点时,都会出现以下错误: 执行过程中发生错误 SQL文件“InstallCommon.SQL”的。 SQL错误号为5123,而 SqlException消息是:创建文件 遇到操作系统错误 5(
Roberto看起来您实际上仍在引用本地文件App_Data/ASPNETDB_TMP.MDF,而不是SQL Azure实例-因此我怀疑,虽然您的主数据连接字符串是正确的,但您也有一个本地数据库连接字符串?在web.config中签入成员资格提供程序我认为默认情况下,asp.net mebership系统使用名为
LocalSqlServer
的连接字符串。在你的web.config中设置它,你就可以开始了
<configuration>
<connectionStrings>
<add name="LocalSqlServer"
connectionString="Connectionstring..."
providerName="Provider..." />
</connectionStrings>
</configuration>
谢谢大家
经过一些实验,我得出以下结论:
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" connectionStringName="..." type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral...."/>
</providers>
</roleManager>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider.... connectionStringName=""..../>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" connectionStringName="" type="System.Web.Profile.SqlProfileProvider..../>
</providers>
</profile>
非常重要的是,您和供应商必须向所有供应商。。。否则,系统会对使用哪个提供程序感到困惑,您将获得身份验证错误