ASP.NET profile之 找不到存储过程’dbo.aspnet_CheckSchemaVersion’
完成profile的webconfig配置后,运行时出现【找不到存储过程’dbo.aspnet_CheckSchemaVersion’ 】错误。
我的web.config配置如下:
<connectionStrings>
<add name="con1" connectionString="Data Source=HASO33CN/SQLEXPRESS;Initial Catalog=db_NetShop;
Persist Security Info=True;User ID=sa;PWD=1;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" />
<authentication mode="Windows" />
<profile automaticSaveEnabled="true" defaultProvider="SqlProvider">
<providers>
<clear/>
<add name="SqlProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="con1" applicationName="/"/>
</providers>
<properties>
<add name="NNNN" serializeAs="Xml" provider="SqlProvider" ></add>
</properties>
</profile>
</system.web>
程序调试代码:
protected void Page_Load(object sender, EventArgs e)
{
Profile.NNNN = "gxs";
}
出现如下错误:
找不到存储过程 ‘dbo.aspnet_CheckSchemaVersion’。
解决方法:
在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727目录下启动aspnet_regsql.exe,然后按照配置文件中的连接字串(web.config中的connectionStrings)进行配置,注意选中要用的数据库。
测试:
打开SqlServer2005,在数据库中发现多了几十张表,其中有aspnet_Profile。另外发现多了几十个存储过程,其中有aspnet_CheckSchemaVersion存储过程。
打开aspnet_Profile表:【Profile.NNNN = “gxs”】记录被保存在该表中。