Situation: Dnn 4.5.5, Store 2.01.00, SQL2000 (collation Slovak CI AS)
New installation of Store module gets following error:
Failure - SQL Execution resulted in following Exceptions: System.Data.SqlClient.SqlException: Cannot resolve collation conflict for equal to operation. …
As result the Store_Cart_PurgeCarts stored procedure is not created. SQL server has collation settings: Slovak_CI_AS. I noticed datediff() function in procedure. Maybe it is date- time format related problem? Please help.
Jan
Here is excerpt with error from install log:
StartJob Begin Sql execution
Info Executing 01.00.00.SqlDataProvider
StartJob Start Sql execution: 01.00.00.SqlDataProvider file
Failure SQL Execution resulted in following Exceptions: System.Data.SqlClient.SqlException: Cannot resolve collation conflict for equal to operation. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) CREATE PROCEDURE dbo.Store_Cart_PurgeCarts @PurgeDate datetime AS SET NOCOUNT ON DECLARE @OldCarts table (CartID nvarchar(50)) DECLARE @ErrorCode int SELECT @ErrorCode = 0 BEGIN TRANSACTION INSERT INTO @OldCarts SELECT CartID FROM dbo.Store_Cart WHERE UserID IS NULL AND datediff(day, @PurgeDate, DateCreated) < 0 -- Check for errors SELECT @ErrorCode = @@error IF (@ErrorCode <> 0) GOTO Cleanup DELETE FROM dbo.Store_CartItems WHERE CartID IN (SELECT CartID FROM @OldCarts) -- Check for errors SELECT @ErrorCode = @@error IF (@ErrorCode <> 0) GOTO Cleanup DELETE FROM dbo.Store_Cart WHERE CartID IN (SELECT CartID FROM @OldCarts) -- Check for errors SELECT @ErrorCode = @@error Cleanup: IF (@ErrorCode <> 0) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION
EndJob End Sql execution: 01.00.00.SqlDataProvider file