Products

Solutions

Resources

Partners

Community

About

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsStoreStoreSQL Execution failureSQL Execution failure
Previous
 
Next
New Post
11/8/2007 2:10 PM
 
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
 
New Post
11/8/2007 10:46 PM
 

Hi Jan,

I think that's an SQL Server problem. Normaly, the collation can be defined on the SQL Server instance, on each table and each column. If the collation defined for the tempdb is different than the collation defined for the DNN database, then you receive this message. This is not a simple problem to solve. Can you verify that the collation of the dnn db is the same that the collation defined for the tempdb? May be you can find some solutions with this article and this other one.

Gilles


We (team members) are Humans offering their knowledge, their work and their spare time FOR FREE to benefit the community. It would be so particularly appreciated that your messages begin with "Hello" and end with "Thank you" or any other form of politeness. Ask yourself what your reaction would be, if you were approached by me (a total stranger) on the street to ask you something without saying "Hello" nor "Thank you"? After several years of services dedicated to the community, I begin to be tired to read requests without any form of politeness.
 
New Post
11/9/2007 4:36 AM
 
Hi Gilles,

I verified that the collation of the dnn database and tempdb database is the same:  Slovak, CI, AI. I think this is the default collation for SQL server instance. I am wondering why only one stored procedure creation process has failed? The rest of module is working fine for now, but the procedure Store_Cart_PurgeCarts is missing from the dnn database (wasn’t created during installation). In my test environment I use SQL_Latin1_General_CP!_CI_AS collation without any problem. This problem occurred on server of my ISP.

Jan

 
New Post
11/10/2007 8:45 AM
 

Hi Jan,

At this point, we need an expert on SQL Server. But we can try to isolate where the procedure fails. Can you extract the file 01.00.00.SqlDataProvider from Store_02.01.00_Install.zip. Then open it with a text editor and select lines 600-645. Remove all occurences of {databaseOwner}{objectQualifier} and copy all text to the clipboard. Start Entreprise Manager then select Request Analysis (? I use the French version) in the Tools menu, verify that your dnn database is selected in the combobox on top. Paste your modified procedure and verify it (Ctrl+F5). Normaly you must receive an error, note his number. With this error number and the line where they occurs, could you ask in a Slovakian SQL Server forum if someone have encounter this error and find a solution? This will help us, because I do not have a Slovakian SQL Server for trying to reproduce this error.

Gilles


We (team members) are Humans offering their knowledge, their work and their spare time FOR FREE to benefit the community. It would be so particularly appreciated that your messages begin with "Hello" and end with "Thank you" or any other form of politeness. Ask yourself what your reaction would be, if you were approached by me (a total stranger) on the street to ask you something without saying "Hello" nor "Thank you"? After several years of services dedicated to the community, I begin to be tired to read requests without any form of politeness.
 
New Post
11/12/2007 5:32 AM
 
Hi Gilles,
Thank you for your suggestion, I have done some tests myself already. Here is the result:
First, Slovak localization of SQL server does not exist. I use (and my ISP too) the English version. In my test environment I am using the default collation SQL_Latin1_General_CP1_CI_AS, but my ISP is using Slovak_CI_AI collation. In my test environment works everything fine (with default collation) therefore I made the tests with two different databases (for sure that the problem is reproducible) on external server of my ISP.

Second, I scripted the stored procedure Store_Cart_PurgeCarts from my internal SQL server and used that script for testing. I found that source of problem is DELETE query on lines 624 and 633 in 01.00.00.SqlDataProvider file.

Solution:
I edited those two lines as follows (bold text is added):

DELETE FROM dbo.Store_CartItems WHERE CartID collate Slovak_CI_AI IN (SELECT CartID FROM @OldCarts)

Query with the above correction runs successfully.

I have no information about design and structure of Store project (and I am too busy to drill through source), but I see here something strange: CartID collation is different from database default collation (tempdb). Why?

I checked that tempdb and dnn databases have the same collation.

Jan

 
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsStoreStoreSQL Execution failureSQL Execution failure


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out