2010-02-25 68 views
3

我開發一個ASP.NET 應用的Visual Studio 2008 SP1C#。我也使用Sql Server 2008 SP1SqlMembershipProvider的:用我自己的數據庫作爲用戶存儲數據庫

我試圖將使用命令aspnet_regsql -S (local) -E -A m創建的表添加到我自己的數據庫中。

如果我運行該命令,它將創建一個包含四個表的數據庫(Aspnetdb數據庫)。我想知道是否有一個命令在我自己的數據庫中創建這些表(例如,稱爲myDatabase)。

而且,當表創建時。如何將身份驗證連接到myDatabase

謝謝

回答

4
aspnet_regsql-C "Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True" ... 

將產生由連接字符串

給你還應該配置的MembershipProvider程序與數據庫進行工作數據庫。只需將其添加到您的web.config中

<configuration> 
    <connectionStrings> 
    <add name="SqlServices" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True" /> 
    </connectionStrings> 
    <system.web> 
    <authentication mode="Forms" > 
     <forms loginUrl="login.aspx" 
     name=".ASPXFORMSAUTH" /> 
    </authentication> 

    <membership defaultProvider="SqlProvider" 
     userIsOnlineTimeWindow="15"> 
     <providers> 
     <add 
      name="SqlProvider" 
      type="System.Web.Security.SqlMembershipProvider" 
      connectionStringName="SqlServices" 
      applicationName="MyApplication" 
      enablePasswordRetrieval="false" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="true" 
      requiresUniqueEmail="false" 
      passwordFormat="Hashed" 
      maxInvalidPasswordAttempts="5" 
      passwordAttemptWindow="10" /> 
     </providers> 
    </membership> 
    </system.web> 
</configuration> 
4

據「aspnet_regsql -?」輸出,還有一個放慢參數-d,您可以使用,從而使你的命令:

aspnet_regsql -S (local) -E -A -d myDatabase 

另外,您可以用稱它爲「 -sqlexportonly filenamegoes.here」參數來生成SQL腳本,您可以查看,然後應用到您的數據庫:

aspnet_regsql -S (local) -E -A -sqlexportonly output.sql 

MSDN文檔SqlMembershipProvider說明如何更改它在數據庫中的位置,具體是connectionStringName =「SqlServices」的示例。

2

您可以指定-C <connection string>選項而不是-S (local)選項,並在連接字符串中指定數據庫名稱。這允許在現有數據庫上運行創建腳本。有關aspnet_regsql選項,請參閱here

相關問題