2010-07-17 8 views
7

Ho creato un nuovo database di sessione utilizzando il comando (aspnet_regsql.exe -S -E -ssadd -ststype p) e ha creato il DB chiamato ASPState. Quindi l'ho rinominato in qualcosa come E_ASPStateDB. Ho configurato il nome DB corretto nella stringa di connessione sessionState. Ma ancora lancia l'eccezione Nome oggetto non valido "ASPState.dbo.ASPStateTempApplications"Nome oggetto non valido 'ASPState.dbo.ASPStateTempApplications' - Eccezione dopo aver rinominato il database ASPState

Cosa devo fare, in modo che utilizzi il nuovo nome del database?

+0

Non sono sicuro, ma suppongo che il nome DB sia codificato in modo rigido da MS, un suggerimento sarebbe quello di eseguire il profiler e vedere la query inviata. –

risposta

0

dopo aver registrato un nome DB utilizzando aspnet_regsql, è necessario utilizzare il nome con cui si è registrato. Non ha senso cambiare il nome in seguito. Se si desidera veramente utilizzare un nome come E_ASPStateDB, perché non eliminare prima la registrazione di ASPState e quindi registrare nuovamente con il nome E_ASPStateDB. Ti renderà la vita più facile

+0

Sì, abbiamo bisogno di rimuovere la registrazione precedente per usare il nuovo nome db dato che abbiamo solo una relazione. –

8

Ho eseguito questa operazione sul server db a cui si collegava il sito e l'ha risolto immediatamente.

USE [ASPState] 
GO 

DECLARE @return_value int 

EXEC @return_value = [dbo].[CreateTempTables] 

SELECT 'Return Value' = @return_value 

GO 
+1

Questo problema è stato risolto immediatamente, ma ogni volta che riavvio il mio server, devo eseguirlo. C'è un modo migliore per rendere questo cambiamento permanente sul server? – Diablo

0

Dal momento che è stato rinominato il DB si dovrà rigenerare le tabelle di sessione ASPNET. Di seguito è la soluzione ad esso.

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