Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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用户/表单身份验证数据库_Asp.net_Sql Server_Visual Studio 2010_Visual Studio_Webforms - Fatal编程技术网

分配ASP.NET用户/表单身份验证数据库

分配ASP.NET用户/表单身份验证数据库,asp.net,sql-server,visual-studio-2010,visual-studio,webforms,Asp.net,Sql Server,Visual Studio 2010,Visual Studio,Webforms,ASP.NET的新手 在VisualStudio2010Ultimate中,我创建了一个新的ASP.NET3.5网站,然后使用页面上的工具箱控件添加表单身份验证。在我的测试环境中使用这些控件创建新用户后,在项目的App_Data文件夹中创建了一个名为ASPNETDB.MDF的数据库 我还通过向该数据库添加表对其进行了修改,我使用连接字符串从网站上的web表单代码中访问这些表: Data Source=.\SQLEXPRESS;AttachDbFilename=C|DataDirectory|\A

ASP.NET的新手

在VisualStudio2010Ultimate中,我创建了一个新的ASP.NET3.5网站,然后使用页面上的工具箱控件添加表单身份验证。在我的测试环境中使用这些控件创建新用户后,在项目的App_Data文件夹中创建了一个名为ASPNETDB.MDF的数据库

我还通过向该数据库添加表对其进行了修改,我使用连接字符串从网站上的web表单代码中访问这些表:

Data Source=.\SQLEXPRESS;AttachDbFilename=C|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True
现在,我已经准备好将该网站放在我的web主机1和1.com上。我在1和1控制面板中创建了一个数据库。“1和1帮助”页面说明使用如下连接字符串连接1和1托管的SQL Server数据库:

server=mydbHostName.db.1and1.com; initial catalog=mydbName;uid=mydbUser;pwd=mydbPassword
我已经测试了这个连接,可以使用这个连接字符串创建和访问表


我的问题是如何告诉forms authentication在1和1服务器上使用此新数据库?

都在您的web.config文件中。您应该看到如下内容:

<membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" <snip> applicationName="/" />
      </providers>
    </membership>


connectionStringName指向ConnectionStrings部分中定义的连接字符串-只需确保更改成员资格提供程序中的属性以匹配用于连接字符串的名称(反之亦然)。

好吧,这确实是一个不同的问题,但无论如何-您可以通过SSMS使用backup命令创建数据库备份,或右键单击SSMS中的数据库并从“任务”菜单中选择“备份”-这将创建您的.bak文件,您可以使用FTP将其上载到1和1。然后进入他们的SQL manager,或使用SSMS连接到您的SQL Server实例(我不是1和1用户,但大多数主机允许您使用托管帐户中的SQL Server凭据进行连接),然后从.bak文件还原数据库。如果不检查脚本以及1和1 SQL Server配置,我无法告诉您为什么会出现排序错误—可能是SQLExpress(ASP.Net配置文件管理的默认设置)与运行的SQL Server 1和1的任何版本之间存在差异。在任何情况下,如果不使用1和1服务器的基于web的工具,您都可能没有在该服务器上创建数据库的权限。将数据库连接到1和1服务器后,应用程序应使用它们提供的连接字符串进行连接-只需确保服务器位置和数据库名称正确。

谢谢。为此,我需要将数据库导入(或创建)1和1服务器。有没有一个简单的方法可以做到这一点?1和1可以接受.bak文件。我试图创建SQL脚本来在1和1服务器上创建架构,但遇到了难以跟踪的“排序规则冲突”错误。再说一次,有没有一个简单的方法可以做到这一点?终于成功了。对于试图在1and1服务器上获取ASP表单身份验证或成员数据库架构的任何其他人,请首先运行C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet\U regsql.exe-S mydbHostName.db.1and 1.com-sqlexportonly script.sql-a all-d mydbName-U mydbUserID-P mydbPassword,并用您的信息代替“mydb…”参数。然后打开它创建的script.sql文件。然后将其内容复制并粘贴到数据库工具内的查询分析器中,然后点击submit,等待一分钟左右,完成操作。