Sql server 与sql server(非express)一起使用登录控件

Sql server 与sql server(非express)一起使用登录控件,sql-server,visual-studio,forms-authentication,login-control,sqlmembershipprovider,Sql Server,Visual Studio,Forms Authentication,Login Control,Sqlmembershipprovider,我安装了VisualStudio2008Professional(用SP1更新),然后卸载了SQLServer2005Express并安装了SQLServer2005Standard 现在我无法将“SQL Server数据库”添加到项目中,它说 连接到SQL Server文件(*.mdf)需要SQL Server Express 2005才能正常工作 它是否不符合SQL Server标准版本 和登录控件也不起作用- 网络管理工具说 无法连接到SQL Server数据库 还尝试使用aspnet_r

我安装了VisualStudio2008Professional(用SP1更新),然后卸载了SQLServer2005Express并安装了SQLServer2005Standard

现在我无法将“SQL Server数据库”添加到项目中,它说 连接到SQL Server文件(*.mdf)需要SQL Server Express 2005才能正常工作

它是否不符合SQL Server标准版本

和登录控件也不起作用-
网络管理工具说 无法连接到SQL Server数据库

还尝试使用aspnet_regsql命令行实用程序。。不工作..(实际上,我不知道通过“aspnet\u regsql命令行实用程序”创建SQL server数据库后要做什么)

请在有人关闭此问题或标记进行删除之前,为我的问题提供解决方案;P:)

仅将一个独立的

.mdf
文件作为数据库附加的功能仅在SQL Server的Express版本中提供

在任何其他情况下,您都应该在SQL Server实例上创建数据库,并通过其数据库名称来引用它,而不是.mdf文件名

为了创建ASP.NET成员资格和角色子系统所需的表和存储过程,需要对SQL Server实例使用
aspnet\u regsql
实用程序。你说那没用-它怎么没用??你有错误吗??如果是:什么错误

有关如何使用它的详细信息,请参阅。要创建ASP.NET成员资格和角色子系统,请使用:

aspnet_regsql -S (your server name here) -E -A mr
-E
使用集成安全性(例如,您当前的Windows登录)连接到SQL Server-当然,用户帐户需要足够的权限来执行这些操作!如果您需要特定的SQL Server用户,有两个
-U(用户名)-P(密码)
参数可以实现这一点

完成所有这些之后,还需要配置ASP.NET成员资格和角色子系统,以实际使用在SQL Server上创建的新数据库(
ASPNETDB
)。默认情况下,它们使用附加到SQL Server Express实例的
aspnetdb.mdf
文件。既然你已经改变了,你需要更新你的配置!看

步骤1:将连接字符串添加到新创建的数据库中

web.config
app.config
中,向新创建的ASP.NET成员资格/角色数据库添加有效的连接字符串-类似于:

<configuration>
   <connectionStrings>
      <add name="ASPNETDB_Connection" 
           connectionString="Server=YourServer;database=aspnetdb;Integrated Security=SSPI;" />
  </connectionStrings>
<configuration>
   <system.web>
      <membership defaultProvider="YourProvider" userIsOnlineTimeWindow="15">
          <providers>
             <clear />
             <add name="YourProvider" 
                  type="System.Web.Security.SqlMembershipProvider" 
                  connectionStringName="ASPNETDB_Connection"
                  applicationName="MyApplication"
                  enablePasswordRetrieval="false" enablePasswordReset="true"
                  requiresQuestionAndAnswer="true" requiresUniqueEmail="true"
                  passwordFormat="Hashed" />
          </providers>
      </membership>

步骤2:-为ASP.NET成员资格子系统添加有效配置,并引用您刚刚在步骤1中添加的新连接字符串;比如:

<configuration>
   <connectionStrings>
      <add name="ASPNETDB_Connection" 
           connectionString="Server=YourServer;database=aspnetdb;Integrated Security=SSPI;" />
  </connectionStrings>
<configuration>
   <system.web>
      <membership defaultProvider="YourProvider" userIsOnlineTimeWindow="15">
          <providers>
             <clear />
             <add name="YourProvider" 
                  type="System.Web.Security.SqlMembershipProvider" 
                  connectionStringName="ASPNETDB_Connection"
                  applicationName="MyApplication"
                  enablePasswordRetrieval="false" enablePasswordReset="true"
                  requiresQuestionAndAnswer="true" requiresUniqueEmail="true"
                  passwordFormat="Hashed" />
          </providers>
      </membership>

步骤3:对角色子系统执行相同操作:

<configuration>
   <system.web>
      <roleManager defaultProvider="YourProvider" enabled="true" cacheRolesInCookie="true" >
          <providers>
             <clear />
             <add name="YourProvider" 
                  type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"                 
                  connectionStringName="ASPNETDB_Connection"
                  applicationName="MyApplication" />
          </providers>
      </roleManager>


任何人都没有理由结束此问题,也没有理由标记删除,除了你关于结束问题的巧妙评论。阅读将更加智能。您可能需要重新安装Visual Studio。“修复”安装可能就足够了。您在系统上安装SQL Server Express时安装了它;现在不是了。你撒谎了,现在道歉并说实话。@JohnSaunders:那句关于结束提问的聪明话只是为了好玩。。我觉得有些人可能觉得这个问题太基本了,但我遇到了严重的问题:)@约翰·萨默斯:如果我对VS撒谎,那么应该有一些方法来揭示真相,而不必杀戮和重新创造。。你知道吗?:)对“修复”安装。问题不会因为太基本而结束,这在任何情况下都不是一个基本问题。是为所有应用程序创建ASPNETDB还是为每个应用程序创建单独的db?我可以用VS创建的现有ASPNETDB做些什么吗?我如何在共享主机服务器上使用同一个ASPNETDB,而在共享主机服务器上我需要创建任何带有我的域名前缀的db?@dotnebeginner:这是一个供所有应用程序使用的数据库。VisualStudio提供的
ASPNETDB.MDF
文件可以附加到SQL Server并从此处开始使用-不会出现任何问题。不确定您的上一个问题-不理解问题/要求…我所说的第二个问题是,我现在创建了ASPNETDB,我还创建了由VS.创建的ASPNETDB。。我可以将两者中的数据合并到由实用程序创建的一个中吗?关于第三个问题,在共享web托管服务中,它们不提供任何专用服务器,所有域都需要创建具有域名前缀的dbs。@dotNETbeginner:如果您现在有两个相同数据库的副本,则需要1)将第二个副本(由VS创建)附加到不同的名称下,2)复制您仍然需要的行。恐怕没有神奇的“合并”功能