“表'users.my_aspnet_Sessions'不存在”

时间:2013-01-24 10:10:25

标签: mysql mysql-connector

我正在使用MySQL会话状态提供程序来获取ASP.NET成员资格。我在配置会话状态提供程序时使用了MySQL网站配置实用程序,该工具继续并创建了以下模式:

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'确实不存在。有办法解决问题吗?我在配置中遗漏了什么吗?

我已经尝试重命名该表,但这会产生其他异常,因为连接器的其他组件仍然需要当前名称。

非常感谢任何帮助。

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

正如我在评论中所说,我遇到了同样的问题。

“遇到同样的问题。在我的情况下,我知道原因,只是错过了解决方案...我的数据库在linux服务器中,因此表名称区分大小写...... MySQL创建了一个名为my_aspnet_sessions的表,在某处在提供程序中尝试以my_aspnet_Sessions“

的形式访问它

问题是由mysql连接器中的错误导致的,并且在版本6.8.3(http://dev.mysql.com/downloads/file.php?id=450594)中已修复。

只需安装并更改您的状态服务器提供程序版本为“Version = 6.8.3.0”,它应该可以正常工作。