Używam WinHost.com do hostowania mojej witryny. SQL Database / system członkostwa działa doskonale na moim komputerze lokalnym, ale po przesłaniu na serwer nie działa. Wykonałem wszystkie kroki poprawnie. Skontaktowałem się z pomocą techniczną dotyczącą mojej usługi, ale minęły już ponad 2 tygodnie i nie otrzymałem odpowiedzi.
Ten błąd pojawia się, gdy próbuję się zalogować lub zarejestrować nowego użytkownika na mojej stronie członkostwa w mojej witrynie.
Server Error in '/' Application.
--------------------------------------------------------------------------------
Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1953274
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4849707
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +204
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +175
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
System.Web.Util.SecUtility.CheckSchemaVersion(ProviderBase provider, SqlConnection connection, String[] features, String version, Int32& schemaVersionCheck) +378
System.Web.Security.SqlMembershipProvider.CheckSchemaVersion(SqlConnection connection) +89
System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +815
System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +105
System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved) +42
System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +78
System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60
System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +119
System.Web.UI.WebControls.Login.AttemptLogin() +115
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.4200; ASP.NET Version:2.0.50727.4016
Czy ktoś może mi powiedzieć, dlaczego wystąpił ten błąd (oczywiście nie może czegoś znaleźć ...) i jak mogę to naprawić?
Dziękuję wam wszystkim
Bael
sql
sql-server
stored-procedures
jay_t55
źródło
źródło
Odpowiedzi:
Czy korzystałeś
aspnet_regsql.exe
z serwera sql WinHost.com?Jeśli nie wiesz, gdzie uruchomić powyższe polecenie, możesz po prostu uruchomić plik wykonywalny „aspnet_regsql.exe”.
Aby zlokalizować ten plik, otwórz okno poleceń RUN, naciskając klawisz Windows + r, wpisz w nim poniższe polecenie
%windir%\Microsoft.NET\Framework\v4.0.30319
i naciśnij klawisz Enter, a następnie znajdź plik „aspnet_regsql.exe”. Otworzy się kreator, którego możesz użyć, aby rozwiązać ten błąd.Ten błąd występuje głównie wtedy, gdy nie włączono ról w projekcie mvc asp.net podczas uruchamiania przed automatycznym utworzeniem tabeli tożsamości aspnet.
Będziesz musiał upewnić się, że uruchomiłeś to, aby tabele i obiekty zostały utworzone na serwerze SQL WinHost.com.
źródło
Otwórz wiersz polecenia programu Visual Studio z folderu narzędzi programu Visual Studio z menu Start i wpisz
aspnet_regsql
i postępuj zgodnie z instrukcjami kreatora, aby zarejestrować bazę danych dla członkostwa asp.net i dostawców ról.
źródło
Widziałem to wcześniej. Używana baza danych nie ma wymaganych elementów bazy danych dotyczących członkostwa, zarządzania rolami i funkcji profilu. Masz więc kilka opcji:
źródło
Mam ten sam problem - kopiuję / wklejam ciąg connectionString z programu
SQL Object manager
Visual Studio i zapominam o wpisaniuInitial Catalog=YourDatabaseName
.źródło
Initial Catalog=master
zamiastInitial Catalog=YourDatabaseName
Sprawdź schemat, do którego należy procedura składowana na Twoim hoście - możliwe, że nie ma go w schemacie „dbo”.
np. jeśli znajduje się w obrębie SomeOtherSchema, wywołanie powinno mieć postać „SomeOtherSchema.aspnet_CheckSchemaVersion”
źródło
Miałem dokładnie ten sam błąd, kiedy włączałem,
<roleManager>
wierząc, że włączam ASP.NET Identity 2. To nie to samo!<roleManager>
Włączone starą wersję zarządzania tożsamością, który wykorzystuje inną strukturę tabeli do ASP.NET Identity 2 (który nie potrzebuje „umożliwiające” przy okazji - to właśnie tam).Jeśli celowo używasz starego menedżera ról i nadal otrzymujesz błąd, możesz patrzeć na wartość domyślną
localdb
zamiast bazy danych, w takim przypadku możesz zmodyfikować,<roleManager>
aby wskazać dowolne parametry połączenia:Jeśli korzystasz z ASP.NET Identity 2, oto artykuł na ten temat:
http://johnatten.com/2014/04/20/asp-net-mvc-and-identity-2-0-understanding-the- podstawy /
źródło
Krótko mówiąc, należy ponownie skompilować bibliotekę dll dostawcy aspnet przy użyciu nazwy użytkownika sql przypisanej z hostingu.
Inną opcją, prostszą do wypróbowania, jest zastąpienie odniesień dbo w lokalnej bazie danych serwera sql nazwą użytkownika hostującej bazy danych, a następnie przesłanie i załączenie pliku mdf.
Mam nadzieję, że to pomoże
Tomasz
źródło