Я создал новую базу данных сеансов с помощью команды (aspnet_regsql.exe -S -E -ssadd -sstype p) и создал базу данных с именем ASPState. Затем я переименовал его в нечто вроде E_ASPStateDB. Я настроил правильное имя БД в строке подключения sessionState. Но все равно выдается исключение Неверное имя объекта 'ASPState.dbo.ASPStateTempApplications'
Что мне нужно сделать, чтобы он использовал новое имя базы данных?
Я запустил это на сервере базы данных, к которому подключался сайт, и он решил это немедленно.
USE [ASPState] GO DECLARE @return_value int EXEC @return_value = [dbo].[CreateTempTables] SELECT 'Return Value' = @return_value GO
Поскольку вы переименовали БД, вам придется заново создавать таблицы сеансов 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
Вы должны изменить хранимые процедуры, потому что они вызывают таблицы с именем базы данных и схемой следующим образом:
[ASPState] .dbo.ASPStateTempApplications
Вы должны изменить его на
[E_ASPStateDB] .dbo.ASPStateTempApplications
после того как вы зарегистрировали имя БД с помощью aspnet_regsql, вы должны будете использовать имя, которое вы зарегистрировали.Нет смысла менять имя потом.Если вы действительно хотите использовать имя типа E_ASPStateDB, почему бы не сначала удалить регистрацию ASPState, а затем заново зарегистрироваться с именем E_ASPStateDB.Это облегчит вашу жизнь