我使用命令(aspnet_regsql.exe -S -E -ssadd -sstype p)创建了新的会话数据库,并创建了名为ASPState的数据库。然后我将其重命名为E_ASPStateDB。我在sessionState连接字符串中配置了正确的DB名称。但它仍会引发异常无效的对象名称'ASPState.dbo.ASPStateTempApplications'
我需要做什么,以便它将使用新的数据库名称?
答案 0 :(得分:12)
我在网站连接的数据库服务器上运行了它,它立即解决了。
USE [ASPState]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[CreateTempTables]
SELECT 'Return Value' = @return_value
GO
答案 1 :(得分:3)
由于您重命名了DB,因此您必须重新生成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
答案 2 :(得分:0)
使用aspnet_regsql注册数据库名称后,您必须使用您注册的名称。事后没有必要更改名称。如果您真的想使用类似E_ASPStateDB的名称,为什么不首先删除ASPState的注册,然后使用名称E_ASPStateDB重新注册。它会让你的生活更轻松
答案 3 :(得分:0)
您必须修改存储过程,因为它们会使用数据库名称和架构来调用表,如下所示:
[ASPState] .dbo.ASPStateTempApplications
您必须将其更改为
[E_ASPStateDB] .dbo.ASPStateTempApplications