ASP.NET 멤버쉽에 MySQL 세션 상태 공급자를 사용하고 있습니다. 나는 구성에서 MySQL은 웹 사이트 구성 유틸리티에게 세션 상태 제공자를 사용 도구가 나서서 다음 스키마 생성 :"테이블 'users.my_aspnet_Sessions'가 존재하지 않습니다."
Tables_in_users
my_aspnet_applications
my_aspnet_membership
my_aspnet_profiles
my_aspnet_roles
my_aspnet_schemaversion
my_aspnet_sessioncleanup
my_aspnet_sessions
my_aspnet_users
my_aspnet_usersinroles
는 자동 세션 정리 유틸리티는 다음과 같은 예외를 던지는 유지한다는 문제를 :
데이터 원본과 통신하는 동안 예외가 발생했습니다.
Action: CleanupOldSessionsException: MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'users.my_aspnet_Sessions' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at MySql.Web.SessionState.MySqlSessionStateStore.DeleteTimedOutSessionsWithCallback()
at MySql.Web.SessionState.MySqlSessionStateStore.DeleteTimedOutSessions()
at MySql.Web.SessionState.MySqlSessionStateStore.CleanupOldSessions(Object o)
예외는 완전히 유효하며 'users.my_aspnet_Sessions'는 실제로 존재하지 않습니다. 주위를 둘러 쌀 수있는 방법이 있습니까? 구성에서 뭔가를 놓친 적이 있습니까?
나는 이미 테이블의 이름을 바꾸려고했지만 커넥터의 다른 구성 요소가 여전히 현재 이름을 기대하기 때문에 다른 예외가 발생합니다.
도움이 될 것입니다.
감사합니다.
사용자를위한 별도의 데이터베이스와 트랜잭션을위한 별도의 데이터베이스가 있습니까? 또는 하나의 데이터베이스에 모든 것이 있습니까? –
현재 모든 것이 단일 테이블에 있습니다. – digitalmonkey
같은 문제가 있습니다. 내 경우에는 솔루션을 놓친 그냥 원인을 알고 ... 내 데이터베이스는 리눅스 서버에 있으며 그 때문에 테이블 이름은 대소 문자를 구분합니다 ... MySQL은 my_aspnet_sessions라는 테이블을 만들고 공급자 어딘가에 my_aspnet_Sessions – Sergio