2013-07-24 3 views
1

Я тестировал соединение db без Websecurity, и он работает. Я следовал учебник от Brice Lambson http://brice-lambson.blogspot.com.es/2012/10/entity-framework-on-postgresql.htmlРазъем PostgreSQL + Npgsql + MVC и SimpleMembership Не работает

Но когда я использую

WebSecurity.InitializeDatabaseConnection ("myContext", "UserProfile", "USERID", "UserName", autoCreateTables: ложные);

Я получаю это исключение:

System.InvalidOperationException was caught 
    HResult=-2146233079 
    Message=No user table found that has the name "UserProfile". 
    Source=WebMatrix.WebData 
    StackTrace: 
     in WebMatrix.WebData.SimpleMembershipProvider.ValidateUserTable() 
     in WebMatrix.WebData.WebSecurity.InitializeMembershipProvider(SimpleMembershipProvider simpleMembership, DatabaseConnectionInfo connect, String userTableName, String userIdColumn, String userNameColumn, Boolean createTables) 
     in WebMatrix.WebData.WebSecurity.InitializeProviders(DatabaseConnectionInfo connect, String userTableName, String userIdColumn, String userNameColumn, Boolean autoCreateTables) 
     in WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection(String connectionStringName, String userTableName, String userIdColumn, String userNameColumn, Boolean autoCreateTables) 
     in Glink.Filters.InitializeSimpleMembershipAttribute.SimpleMembershipInitializer..ctor() en c:\Users\...\InitializeSimpleMembershipAttribute.cs:line 46 
    InnerException: Npgsql.NpgsqlException 
     HResult=-2147467259 
     Message=ERROR: 42601: Syntax error near «[» 
     Source=Npgsql 
     ErrorCode=-2147467259 
     BaseMessage=Syntax error near «[» 
     Code=42601 
     Detail="" 
     ErrorSql=SELECT [UserId] FROM [UserProfile] WHERE (UPPER([UserName]) = ((E'Z'))) 
     File=src\backend\parser\scan.l 
     Hint="" 
     Line=1002 
     Position=8 
     Routine=scanner_yyerror 
     Severity=ERROR 
     Where="" 
     StackTrace: 
      in Npgsql.NpgsqlState.<ProcessBackendResponses_Ver_3>d__a.MoveNext() 
      in Npgsql.ForwardsOnlyDataReader.GetNextResponseObject() 
      in Npgsql.ForwardsOnlyDataReader.GetNextRowDescription() 
      in Npgsql.ForwardsOnlyDataReader.NextResult() 
      in Npgsql.ForwardsOnlyDataReader..ctor(IEnumerable`1 dataEnumeration, CommandBehavior behavior, NpgsqlCommand command, NotificationThreadBlock threadBlock, Boolean synchOnReadError) 
      in Npgsql.NpgsqlCommand.GetReader(CommandBehavior cb) 
      in Npgsql.NpgsqlCommand.ExecuteScalar() 
      in WebMatrix.Data.Database.QueryValue(String commandText, Object[] args) 
      in WebMatrix.WebData.DatabaseWrapper.QueryValue(String commandText, Object[] parameters) 
      in WebMatrix.WebData.SimpleMembershipProvider.GetUserId(IDatabase db, String userTableName, String userNameColumn, String userIdColumn, String userName) 
      in WebMatrix.WebData.SimpleMembershipProvider.ValidateUserTable() 
     InnerException: 

Я предполагаю, что NpgSql не могли быть готовы к работе с SimpleMerbership, но я хотел бы знать, если любой из вас уже пробовал это. спасибо !!

ответ

2

Вы должны попробовать AspSQLProvider Daniel Nauck в: http://dev.nauck-it.de/projects/show/aspsqlprovider

Это реализация PostgreSQL в ASP.NET 2.0+ членства, роли, профиля и Session-хранилище состояний Provider.

Надеюсь, это поможет.

1

Я бы посоветовал вам попробовать изменить «autoCreateTables: false» на «autoCreateTables: true».

 Смежные вопросы

  • Нет связанных вопросов^_^