Я недавно загрузил DotWiki, который планирую использовать для раздела поддержки на веб-сайте моей компании. Само приложение имеет два разных режима безопасности «простой» и «полный». Full использует поставщика членства ASP.NET для обеспечения безопасности. Однако, когда я запускаю следующую команду (конечно, заменяя [sql server] и тому подобное соответствующей информацией), я получаю довольно большую ошибку.
aspnet_regsql -S [my computer name]\[sql server] -E -A all -d DotWiki
При запуске я получаю следующую ошибку.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql -S AGQAOFFICE\SQLSER VER05 -E -A all -d DotWiki Start adding the following features: Membership Profile RoleManager Personalization SqlWebEventProvider . An error occurred during the execution of the SQL file 'InstallMembership.sql'. The SQL error number is 290 and the SqlException message is: Invalid EXECUTE sta tement using object "Relation", method "SetUseVarDecimal". SQL Server: [my computer name]\[sql server] Database: [DotWiki] SQL file loaded: InstallMembership.sql Commands failed: /*************************************************************/ /*************************************************************/ /*************************************************************/ DECLARE @ver int DECLARE @version nchar(100) DECLARE @dot int DECLARE @hyphen int DECLARE @SqlToExec nchar(400) SELECT @ver = 8 SELECT @version = @@Version SELECT @hyphen = CHARINDEX(N' - ', @version) IF (NOT(@hyphen IS NULL) AND @hyphen > 0) BEGIN SELECT @hyphen = @hyphen + 3 SELECT @dot = CHARINDEX(N'.', @version, @hyphen) IF (NOT(@dot IS NULL) AND @dot > @hyphen) BEGIN SELECT @version = SUBSTRING(@version, @hyphen, @dot - @hyphen) SELECT @ver = CONVERT(int, @version) END END /*************************************************************/ IF (@ver >= 8) EXEC sp_tableoption N'aspnet_Membership', 'text in row', 3000 /*************************************************************/ /*************************************************************/ IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'aspnet_Membership_CreateUser') AND (type = 'P'))) DROP PROCEDURE dbo.aspnet_Membership_CreateUser SQL Exception: System.Data.SqlClient.SqlException: Invalid EXECUTE statement using object "Rela tion", method "SetUseVarDecimal". at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolea n breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception , Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObj ect stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cm dHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult res ult, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at System.Web.Management.SqlServices.ExecuteFile(String file, String server, String database, String dbFileName, SqlConnection connection, Boolean sessionSta te, Boolean isInstall, SessionStateType sessionStatetype)
Любая помощь будет оценена :)
Во-первых, пожалуйста, установите последний пакет обновлений, как предлагается splattne, поскольку упомянутая вами версия @@ НЕ является sp2. Видеть http://www.krell-software.com/mssql-builds.asp
Во-вторых, вы также можете установить необходимые таблицы, sprocs и представления напрямую. Вы можете найти скрипты для запуска на SQL-сервере здесь:% WINDOWS% \ Microsoft.NET \ Framework \ v2.0.50727 \
См. Эту страницу для получения дополнительной информации: http://aspnet.4guysfromrolla.com/articles/040506-1.aspx
Ваша база данных работает в правильном режиме совместимости для SQL 2005? Это будет 90. Также убедитесь, что у вас есть разрешения ALTER для таблицы отношений.
Итак, строка, которая на самом деле получает ошибку, будет следующей:
EXEC sp_tableoption N'aspnet_Membership', 'text in row', 3000
Invalid EXECUTE statement using object "Relation", method "SetUseVarDecimal"
Я получаю много смешанных результатов, обновляясь до пакета обновления 2 (который у меня уже есть). Также некоторые люди говорят, что это проблема с разрешениями. Кажется, ничего не работает.
Какой пакет обновления у вас установлен на SQL Server 2005? Кажется, это было решено с помощью SP2 (последний - Service Pack 3).