Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Пытаюсь выполнить этот SQL: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. Cannot resolve the collation conflict between "Cyrillic_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "Cyrillic_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "Cyrillic_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "Cyrillic_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "Cyrillic_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. Что не так? Почему ошибка кидается? Как её устранить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 18:40 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Скорее всего потому, что в вашей базе и в базе TempDB разные дефолтные коллейшны. Исправить - явно указывать COLLATE при сравнении строковых величин либо явно прописывать коллейшны строковых полей в объявлениях временных таблиц и табличных переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 19:21 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за совет, он помог и теперь всё работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 19:58 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Точно такая же проблема поменял Collate все равно не помогает :( -------------------------------------- Starting execution of InstallRoles.SQL -------------------------------------- Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_AddUsersToRoles, Line 48 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_AddUsersToRoles, Line 52 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 53 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 58 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. (1 row(s) affected) (1 row(s) affected) Msg 15151, Level 16, State 1, Line 30 Cannot find the object 'aspnet_UsersInRoles_AddUsersToRoles', because it does not exist or you do not have permission. Msg 15151, Level 16, State 1, Line 31 Cannot find the object 'aspnet_UsersInRoles_RemoveUsersFromRoles', because it does not exist or you do not have permission. Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. --------------------------------------- Completed execution of InstallRoles.SQL --------------------------------------- Что делать не знаю (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 08:41 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilЧто делать не знаю (( Читать ответы - 7297736 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 13:34 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Во всех БД исправил Collation но все равно такая байда может еще какое нибудь другое решение есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 16:35 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilВо всех БД исправил Collation но все равно такая байда может еще какое нибудь другое решение есть? И где вы в ответе прочитали, что нужно исправить Collation у базы данных ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 17:35 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Если я что то не так понял то прошу понять и поддержать. Можно по подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 17:43 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilЕсли я что то не так понял то прошу понять и поддержать. Можно по подробнее? Вы это предложение точно читали ? "Исправить - явно указывать COLLATE при сравнении строковых величин либо явно прописывать коллейшны строковых полей в объявлениях временных таблиц и табличных переменных. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 18:05 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilЕсли я что то не так понял то прошу понять и поддержать. Можно по подробнее?Поддерживаю и понимаю. Чтобы помочь, нужно хоть понять, что вы делали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 18:29 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
включил <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> а далее показал провайдера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:00 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
и просто запускаю aspnet_regsql.exe и получаю следующую ошибку: Исключение: Во время выполнения файла SQL 'InstallRoles.sql' произошла ошибка. Номер ошибки SQL - 468, а сообщение SqlException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. ---------------------------------------- Подробности сбоя ---------------------------------------- SQL Server: База данных: [AzDAS] Загружен файл SQL: InstallRoles.sql Сбой команд: DECLARE @ver int DECLARE @version nchar(100) DECLARE @dot int DECLARE @hyphen int DECLARE @SqlToExec nchar(4000) SELECT @ver = 7 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 > 7) SELECT @SqlToExec = N' CREATE PROCEDURE dbo.aspnet_UsersInRoles_AddUsersToRoles @ApplicationName nvarchar(256), @UserNames nvarchar(4000), @RoleNames nvarchar(4000), @CurrentTimeUtc datetime AS BEGIN DECLARE @AppId uniqueidentifier SELECT @AppId = NULL SELECT @AppId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@AppId IS NULL) RETURN(2) DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END DECLARE @tbNames table(Name nvarchar(256) NOT NULL PRIMARY KEY) DECLARE @tbRoles table(RoleId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @tbUsers table(UserId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @Num int DECLARE @Pos int DECLARE @NextPos int DECLARE @Name nvarchar(256) SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@RoleNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @RoleNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@RoleNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@RoleNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1 INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END INSERT INTO @tbRoles SELECT RoleId FROM dbo.aspnet_Roles ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredRoleName AND ar.ApplicationId = @AppId IF (@@ROWCOUNT <> @Num) BEGIN SELECT TOP 1 Name FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT ar.LoweredRoleName FROM dbo.aspnet_Roles ar, @tbRoles r WHERE r.RoleId = ar.RoleId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(2) END DELETE FROM @tbNames WHERE 1=1 SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@UserNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @UserNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@UserNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@UserNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1 INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END INSERT INTO @tbUsers SELECT UserId FROM dbo.aspnet_Users ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @AppId IF (@@ROWCOUNT <> @Num) BEGIN DELETE FROM @tbNames WHERE LOWER(Name) IN (SELECT LoweredUserName FROM dbo.aspnet_Users au, @tbUsers u WHERE au.UserId = u.UserId) INSERT dbo.aspnet_Users (ApplicationId, UserId, UserName, LoweredUserName, IsAnonymous, LastActivityDate) SELECT @AppId, NEWID(), Name, LOWER(Name), 0, @CurrentTimeUtc FROM @tbNames INSERT INTO @tbUsers SELECT UserId FROM dbo.aspnet_Users au, @tbNames t WHERE LOWER(t.Name) = au.LoweredUserName AND au.ApplicationId = @AppId END IF (EXISTS (SELECT * FROM dbo.aspnet_UsersInRoles ur, @tbUsers tu, @tbRoles tr WHERE tu.UserId = ur.UserId AND tr.RoleId = ur.RoleId)) BEGIN SELECT TOP 1 UserName, RoleName FROM dbo.aspnet_UsersInRoles ur, @tbUsers tu, @tbRoles tr, aspnet_Users u, aspnet_Roles r WHERE u.UserId = tu.UserId AND r.RoleId = tr.RoleId AND tu.UserId = ur.UserId AND tr.RoleId = ur.RoleId IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(3) END INSERT INTO dbo.aspnet_UsersInRoles (UserId, RoleId) SELECT UserId, RoleId FROM @tbUsers, @tbRoles IF( @TranStarted = 1 ) COMMIT TRANSACTION RETURN(0) END' ELSE SELECT @SqlToExec = N' CREATE PROCEDURE dbo.aspnet_UsersInRoles_AddUsersToRoles @ApplicationName nvarchar(256), @UserNames nvarchar(4000), @RoleNames nvarchar(4000), @CurrentTimeUtc datetime AS BEGIN DECLARE @AppId uniqueidentifier SELECT @AppId = NULL SELECT @AppId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@AppId IS NULL) RETURN(2) DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END DECLARE @RoleId uniqueidentifier DECLARE @UserId uniqueidentifier DECLARE @UserName nvarchar(256) DECLARE @RoleName nvarchar(256) DECLARE @CurrentPosU int DECLARE @NextPosU int DECLARE @CurrentPosR int DECLARE @NextPosR int SELECT @CurrentPosU = 1 WHILE(@CurrentPosU <= LEN(@UserNames)) BEGIN SELECT @NextPosU = CHARINDEX(N'','', @UserNames, @CurrentPosU) IF (@NextPosU = 0 OR @NextPosU IS NULL) SELECT @NextPosU = LEN(@UserNames) + 1 SELECT @UserName = SUBSTRING(@UserNames, @CurrentPosU, @NextPosU - @CurrentPosU) SELECT @CurrentPosU = @NextPosU+1 SELECT @CurrentPosR = 1 WHILE(@CurrentPosR <= LEN(@RoleNames)) BEGIN SELECT @NextPosR = CHARINDEX(N'','', @RoleNames, @CurrentPosR) IF (@NextPosR = 0 OR @NextPosR IS NULL) SELECT @NextPosR = LEN(@RoleNames) + 1 SELECT @RoleName = SUBSTRING(@RoleNames, @CurrentPosR, @NextPosR - @CurrentPosR) SELECT @CurrentPosR = @NextPosR+1 SELECT @RoleId = NULL SELECT @RoleId = RoleId FROM dbo.aspnet_Roles WHERE LoweredRoleName = LOWER(@RoleName) AND ApplicationId = @AppId IF (@RoleId IS NULL) BEGIN SELECT @RoleName IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(2) END SELECT @UserId = NULL SELECT @UserId = UserId FROM dbo.aspnet_Users WHERE LoweredUserName = LOWER(@UserName) AND ApplicationId = @AppId IF (@UserId IS NULL) BEGIN EXEC dbo.aspnet_Users_CreateUser @AppId, @UserName, 0, @CurrentTimeUtc, @UserId OUTPUT END IF (EXISTS(SELECT * FROM dbo.aspnet_UsersInRoles WHERE @UserId = UserId AND @RoleId = RoleId)) BEGIN SELECT @UserName, @RoleName IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(3) END INSERT INTO dbo.aspnet_UsersInRoles (UserId, RoleId) VALUES(@UserId, @RoleId) END END IF( @TranStarted = 1 ) COMMIT TRANSACTION RETURN(0) END' EXEC sp_executesql @SqlToExec IF (@ver > 7) SELECT @SqlToExec = N' CREATE PROCEDURE dbo.aspnet_UsersInRoles_RemoveUsersFromRoles @ApplicationName nvarchar(256), @UserNames nvarchar(4000), @RoleNames nvarchar(4000) AS BEGIN DECLARE @AppId uniqueidentifier SELECT @AppId = NULL SELECT @AppId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@AppId IS NULL) RETURN(2) DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END DECLARE @tbNames table(Name nvarchar(256) NOT NULL PRIMARY KEY) DECLARE @tbRoles table(RoleId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @tbUsers table(UserId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @Num int DECLARE @Pos int DECLARE @NextPos int DECLARE @Name nvarchar(256) DECLARE @CountAll int DECLARE @CountU int DECLARE @CountR int SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@RoleNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @RoleNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@RoleNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@RoleNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1 INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END INSERT INTO @tbRoles SELECT RoleId FROM dbo.aspnet_Roles ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredRoleName AND ar.ApplicationId = @AppId SELECT @CountR = @@ROWCOUNT IF (@CountR <> @Num) BEGIN SELECT TOP 1 N'''', Name FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT ar.LoweredRoleName FROM dbo.aspnet_Roles ar, @tbRoles r WHERE r.RoleId = ar.RoleId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(2) END DELETE FROM @tbNames WHERE 1=1 SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@UserNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @UserNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@UserNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@UserNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1 INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END INSERT INTO @tbUsers SELECT UserId FROM dbo.aspnet_Users ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @AppId SELECT @CountU = @@ROWCOUNT IF (@CountU <> @Num) BEGIN SELECT TOP 1 Name, N'''' FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT au.LoweredUserName FROM dbo.aspnet_Users au, @tbUsers u WHERE u.UserId = au.UserId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(1) END SELECT @CountAll = COUNT(*) FROM dbo.aspnet_UsersInRoles ur, @tbUsers u, @tbRoles r WHERE ur.UserId = u.UserId AND ur.RoleId = r.RoleId IF (@CountAll <> @CountU * @CountR) BEGIN SELECT TOP 1 UserName, RoleName FROM @tbUsers tu, @tbRoles tr, dbo.aspnet_Users u, dbo.aspnet_Roles r WHERE u.UserId = tu.UserId AND r.RoleId = tr.RoleId AND tu.UserId NOT IN (SELECT ur.UserId FROM dbo.aspnet_UsersInRoles ur WHERE ur.RoleId = tr.RoleId) AND tr.RoleId NOT IN (SELECT ur.RoleId FROM dbo.aspnet_UsersInRoles ur WHERE ur.UserId = tu.UserId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(3) END DELETE FROM dbo.aspnet_UsersInRoles WHERE UserId IN (SELECT UserId FROM @tbUsers) AND RoleId IN (SELECT RoleId FROM @tbRoles) IF( @TranStarted = 1 ) COMMIT TRANSACTION RETURN(0) END ' ELSE SELECT @SqlToExec = N' CREATE PROCEDURE dbo.aspnet_UsersInRoles_RemoveUsersFromRoles @ApplicationName nvarchar(256), @UserNames nvarchar(4000), @RoleNames nvarchar(4000) AS BEGIN DECLARE @AppId uniqueidentifier SELECT @AppId = NULL SELECT @AppId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@AppId IS NULL) RETURN(2) DECLARE @TranStarted bit SET @TranStarted = 0 IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END DECLARE @RoleId uniqueidentifier DECLARE @UserId uniqueidentifier DECLARE @UserName nvarchar(256) DECLARE @RoleName nvarchar(256) DECLARE @CurrentPosU int DECLARE @NextPosU int DECLARE @CurrentPosR int DECLARE @NextPosR int SELECT @CurrentPosU = 1 WHILE(@CurrentPosU <= LEN(@UserNames)) BEGIN SELECT @NextPosU = CHARINDEX(N'','', @UserNames, @CurrentPosU) IF (@NextPosU = 0 OR @NextPosU IS NULL) SELECT @NextPosU = LEN(@UserNames)+1 SELECT @UserName = SUBSTRING(@UserNames, @CurrentPosU, @NextPosU - @CurrentPosU) SELECT @CurrentPosU = @NextPosU+1 SELECT @CurrentPosR = 1 WHILE(@CurrentPosR <= LEN(@RoleNames)) BEGIN SELECT @NextPosR = CHARINDEX(N'','', @RoleNames, @CurrentPosR) IF (@NextPosR = 0 OR @NextPosR IS NULL) SELECT @NextPosR = LEN(@RoleNames)+1 SELECT @RoleName = SUBSTRING(@RoleNames, @CurrentPosR, @NextPosR - @CurrentPosR) SELECT @CurrentPosR = @NextPosR+1 SELECT @RoleId = NULL SELECT @RoleId = RoleId FROM dbo.aspnet_Roles WHERE LoweredRoleName = LOWER(@RoleName) AND ApplicationId = @AppId IF (@RoleId IS NULL) BEGIN SELECT N'''', @RoleName IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(2) END SELECT @UserId = NULL SELECT @UserId = UserId FROM dbo.aspnet_Users WHERE LoweredUserName = LOWER(@UserName) AND ApplicationId = @AppId IF (@UserId IS NULL) BEGIN SELECT @UserName, N'''' IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(1) END IF (NOT(EXISTS(SELECT * FROM dbo.aspnet_UsersInRoles WHERE @UserId = UserId AND @RoleId = RoleId))) BEGIN SELECT @UserName, @RoleName IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(3) END DELETE FROM dbo.aspnet_UsersInRoles WHERE (UserId = @UserId AND RoleId = @RoleId) END END IF( @TranStarted = 1 ) COMMIT TRANSACTION RETURN(0) END ' EXEC sp_executesql @SqlToExec Исключение SQL: System.Data.SqlClient.SqlException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation. в System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery() в System.Web.Management.SqlServices.ExecuteFile(String file, String server, String database, String dbFileName, SqlConnection connection, Boolean sessionState, Boolean isInstall, SessionStateType sessionStatetype) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:02 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilи просто запускаю aspnet_regsql.exe и получаю следующую ошибку: Что вам по прежнему мешает уже приступить к решению проблемы ? Уровень ответов на русскоязычных форумах ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:04 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Да в принципе не чего не мешает кроме того что я не вижу решения проблемы. А если уровень рос.форумов не устраивал меня то я обратился бы в другой форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:08 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilДа в принципе не чего не мешает кроме того что я не вижу решения проблемы. Сколько раз нужно повторить предложение "Исправить - явно указывать COLLATE при сравнении строковых величин либо явно прописывать коллейшны строковых полей в объявлениях временных таблиц и табличных переменных. " чтобы вы уже видели решение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:11 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilДа в принципе не чего не мешает кроме того что я не вижу решения проблемы. А если уровень рос.форумов не устраивал меня то я обратился бы в другой форум.Это ваше приложение или чёжое? Если ваше, отлаживайте этот код и ищите строку с ошибкой. Если чужое - обратитесь к разработчикам. Скорее всего, коллейшен некоторых полей в таблицах не соответствует колелйшену базы данных. Это ошибка создания таблиц в БД. Или как валиант, коллейшен полей в одних таблицах не соответствует другим, но это менее вероятно. Можно просто сделать скрипт таблиц в БД и найти там коллейшены, упомянутые в сообщении об ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:29 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Приложение можно не мое, я просто хочу включить Roles в ASP.Net и для этого запускаю aspnetregsql но получаю ошибку которую уже привел выше а БД только что ставил и все по стандарту вроде не могу понять почему Collation-ы не могу совпадать. Если Collation не совпадает как вручную сделать это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:35 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
komilПриложение можно не мое, я просто хочу включить Roles в ASP.Net и для этого запускаю aspnetregsql но получаю ошибку которую уже привел выше а БД только что ставил и все по стандарту вроде не могу понять почему Collation-ы не могу совпадать. Если Collation не совпадает как вручную сделать это?Очень неконкретно и непонятно Ставили стороннее приложение инсталятором? Значит, бага в инсталяторе Ставили сами? значит, неправильно. "все по стандарту" - имеется в виду инструкция производителя? стандарта на установку БД не существует. Пока вы не напишите ничего корме "я нажал а у меня ошибка", помочь нельзя. Коллейшен нужно менять на конкретных столбцах конкретной таблицы, из за которой появляется ошибка. Либо через UI SSMS, либо командами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:39 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Да конечно понимаю что слишком мало информации для решения проблем но и особо говорит тут не чего, предлагаю сделать следующее если Вам не трудно alexeyvg подскажите как глобально во всей базе поменять Collation чтобы конфликтов у меня не было? а то объяснять я особо не мастер как показал этот пост :) извините ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 19:46 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
MS SQL 2005 Cannot resolve the collation conflict Добрый день, хочу поделиться решением своей проблемы — при написании скрипта происходило сравнение полей из разных таблиц в результате постоянно выскакивала одна и та же ошибка: Msg 468, Level 16, State 9, Line 2 Cannot resolve the collation conflict between «Cyrillic_General_CI_AS» and «SQL_Latin1_General_CP1251_CI_AS» in the equal to operation. Решение нашел на просторах интернета и решил оставить на заметку чтобы больше не искать. После сравнения полей нужно добавить collate Cyrillic_General_CI_AS Код: sql 1. 2. 3. У меня такой вариант сработал. Если кому еще помогло рад за Вас. Источник : http://zametki-admina.ru/ms-sql-2005-cannot-resolve-the-collation-conflict.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 16:33 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
OffTop Смотришь на это явление и поражаешься, как Фейман смотрящий на цветок. George Ru , а вы можете сказать о чём написано во втором посте? 7297736 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 19:18 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
Mnior , а Вам не кажется, что я об этом уже сказал? 15641376 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:05 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
George Ruа Вам не кажется, что я об этом уже сказал? 15641376 А зачем ждали 5 лет то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:09 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:17 |
|
||
|
MS SQL 2008: Cannot resolve the collation conflict
|
|||
|---|---|---|---|
|
#18+
George Ru Glory , пересчитайте на калькуляторе, пожалуйста, ещё раз Время поста с аналогичным вашему ответом 14 июн 09, 17:21 Время вашего поста 27 фев 14, 14:33 14-9 = 5 - так мне сказал калькулятор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=37087064&tid=1689441]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 489ms |

| 0 / 0 |
