Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在尝试将Asp.Net Membership数据库部署到SQL Azure_Asp.net_Sql Server_Azure_Membership - Fatal编程技术网

正在尝试将Asp.Net Membership数据库部署到SQL Azure

正在尝试将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(

我一直在尝试让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(无论如何它都不能),因为它认为一个数据库不存在。我不知道如何关闭这种行为

有人知道我能做什么吗

谢谢


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>


非常重要的是,您和供应商必须向所有供应商。。。否则,系统会对使用哪个提供程序感到困惑,您将获得身份验证错误