0

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

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

Data Source=.\SQLEXPRESS;AttachDbFilename=C|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True 

现在我准备把网站我的虚拟主机:

我还通过添加表它,我使用连接字符串中的代码访问的网页表单的网站上进行修改,这个数据库,1and1.com。我在1and1控制面板中创建了一个数据库。该的1and1帮助页面说,使用一个连接字符串,如下面连接到的1and1托管SQL Server数据库:

server=mydbHostName.db.1and1.com; initial catalog=mydbName;uid=mydbUser;pwd=mydbPassword 

我已经测试此连接,可以创建并使用此连接字符串访问表。

我的问题是我如何告诉表单身份验证在1and1服务器上使用这个新的数据库?

回答

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节中定义的连接字符串 - 只要确保你更改属性的成员资格提供相匹配时使用的连接字符串名称(或相反亦然)。

+0

谢谢。为了做到这一点,我需要将数据库导入(或创建)到1and1服务器中。是否有捷径可寻? 1and1可以接受.bak文件。我试图创建一个SQL脚本来在1and1服务器上创建模式,但遇到了难以追查的“校对冲突”错误。再次,有没有一个简单的方法来做到这一点? – MindSpiker 2013-02-28 23:53:44

+0

终于搞定了。对于其他尝试将ASP表单身份验证或成员数据库架构获取到1and1服务器上的人,请首先运行C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regsql.exe -S mydbHostName.db.1and1.com -sqlexportonly脚本.sql -A all -d mydbName -U mydbUserID -P mydbPassword用您的信息代替'mydb ...'参数。然后打开它创建的script.sql文件。然后将其内容复制并粘贴到数据库工具内的查询分析器中,然后点击提交,等待一分钟左右完成。 – MindSpiker 2013-03-01 00:55:24

0

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

相关问题