通过sql脚本生成的方式,将本地数据库迁移到服务器上,本来只是选择了表,其他都没选,发生了没有存储过程的错误,然后把存储过程create一次,生成成功,发生了如题所示的错误。Asp.net配置也显示这个错误。然后百度了一下,有两个大方向的答案。
一个是本文接下来的内容,一个是通过asp.net reg_sql,之前还写过配置的方法。试了下reg_sql,其实想到了不能用,然后果然不能用,报错如下,应该是没有权限之类的错误。
然后在把找到的文章中的sql代码粘到了查询窗口,执行。结果成功,并且asp.net配置再进入,已经成功。但是程序有Authorize部分登录仍然不成功,报同样的错误。
但是,之后VS因为F10/F11一用就重启的问题,重启了一次之后,再运行就可以了,所以猜测是程序那个地方反映比较慢,这个解决方案是可行的。
这是我看到的博客来源http://www.cnblogs.com/webfpc/archive/2010/05/09/1731351.html
原博客的报错一样,但是他是迁移到自己数据库出的错误,而我迁移自己数据库用的asp.net reg_sql,没有问题,迁移服务器出的问题,解决方案相同,但是原理不明。
以下是起作用的部分:
解决方案:
在自己的数据库里为aspnet_SchemaVersions表初始化数据就好了。
/*Insert aspnet_SchemaVersions*/
INSERT INTO [dbo].[aspnet_SchemaVersions]
([Feature]
,[CompatibleSchemaVersion]
,[IsCurrentVersion])
VALUES
('common','1',1)
INSERT INTO [dbo].[aspnet_SchemaVersions]
([Feature]
,[CompatibleSchemaVersion]
,[IsCurrentVersion])
VALUES
('health monitoring','1', 1);
INSERT INTO [dbo].[aspnet_SchemaVersions]
([Feature]
,[CompatibleSchemaVersion]
,[IsCurrentVersion])
VALUES
('membership', '1', 1)
INSERT INTO [dbo].[aspnet_SchemaVersions]
([Feature]
,[CompatibleSchemaVersion]
,[IsCurrentVersion])
VALUES
('personalization','1', 1)
INSERT INTO [dbo].[aspnet_SchemaVersions]
([Feature]
,[CompatibleSchemaVersion]
,[IsCurrentVersion])
VALUES
('profile','1', 1)
INSERT INTO [dbo].[aspnet_SchemaVersions]
([Feature]
,[CompatibleSchemaVersion]
,[IsCurrentVersion])
VALUES
('role manager','1', 1)