12

我使用命令(aspnet_regsql.exe -S -E -ssadd -sstype p)创建了新的会话数据库,并创建了名为 ASPState 的数据库。然后我将它重命名为 E_ASPStateDB。我在 sessionState 连接字符串中配置了正确的数据库名称。但它仍然抛出异常Invalid object name 'ASPState.dbo.ASPStateTempApplications'

我需要做什么,以便它使用新的数据库名称?

4

4 回答 4

14

我在站点连接到的数据库服务器上运行了它,它立即解决了它。

USE [ASPState]
GO

DECLARE @return_value int

EXEC    @return_value = [dbo].[CreateTempTables]

SELECT  'Return Value' = @return_value

GO
于 2014-01-02T13:20:24.657 回答
4

由于您重命名了数据库,您将不得不重新生成 ASPnet 会话表。下面是它的解决方案。

To Remove, use following command: [open visual studion command prompt]

aspnet_regsql -ssremove -S [SERVER] -U [USER] -P [PWD] -d [DATABASE] -sstype c

Then add them again by following command

aspnet_regsql -ssadd -S [SERVER] -U [USER] -P [PWD] -d [DATABASE] -sstype c
于 2015-01-23T11:40:05.620 回答
2

您必须修改存储过程,因为它们调用具有数据库名称和架构的表,如下所示:

[ASPState].dbo.ASPStateTempApplications

你必须改变它

[E_ASPStateDB].dbo.ASPStateTempApplications

于 2018-10-16T00:06:24.710 回答
0

一旦您使用 aspnet_regsql 注册了数据库名称,您就必须使用您注册时使用的名称。以后改名真的没有意义。如果你真的要使用像E_ASPStateDB这样的名字,为什么不先删除ASPState的注册,然后用名字E_ASPStateDB重新注册呢。它会让你的生活更轻松

于 2012-07-09T03:39:00.013 回答