我正在使用 Visual Studio 2008 SP1 和 C#开发 ASP.NET 应用程序。我也在使用 Sql Server 2008 SP1 。
我正在尝试将使用命令aspnet_regsql -S (local) -E -A m
创建的表添加到我自己的数据库中。
如果我运行该命令,它将创建一个包含四个表的数据库( Aspnetdb 数据库)。我想知道是否有一个命令在我自己的数据库中创建这些表(例如,名为 myDatabase )。
并且,在创建表格时。如何将身份验证连接到 myDatabase ?
谢谢
答案 0 :(得分: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
SqlMembershipProvider的MSDN文档说明了如何更改其数据库的查找位置,特别是示例中的 connectionStringName =“SqlServices”行。
答案 1 :(得分: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>
答案 2 :(得分:2)
您可以指定-C <connection string>
选项而不是-S (local)
选项,并在连接字符串中指定数据库名称。这允许在现有数据库上运行创建脚本。有关aspnet_regsql选项,请参阅here。