Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

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 ForumsAnnouncementsAnnouncementsCollation conflict on installCollation conflict on install
Previous
 
Next
New Post
1/10/2008 8:14 AM
 

Hi

upgraded to DNN 4.8 without issues. However, when I decided to install the Announcement module 4.00 I get the following error message :

Thanks in advance for your help

Leif

StartJob Début de traitement de script Sql : 04.00.00.SqlDataProvider
Failure Erreur pendant la génération SQL : 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.dnnAnnouncements_Get @ItemId int, @ModuleId int as select dbo.Announcements.ItemId, dbo.Announcements.ModuleId, dbo.Announcements.CreatedByUser, dbo.Announcements.CreatedDate, dbo.Announcements.Title, dbo.Announcements.ImageSource, dbo.Announcements.URL, dbo.Announcements.Description, dbo.Announcements.ViewOrder, dbo.Announcements.PublishDate, dbo.Announcements.ExpireDate, dbo.UrlTracking.TrackClicks, dbo.UrlTracking.NewWindow from dbo.Announcements left outer join dbo.UrlTracking on dbo.Announcements.URL = dbo.UrlTracking.Url and dbo.UrlTracking.ModuleId = @ModuleID where dbo.Announcements.ItemId = @ItemId and dbo.Announcements.ModuleId = @ModuleId 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.dnnAnnouncements_GetCurrent @ModuleId int, @StartDate datetime as select dbo.Announcements.ItemId, dbo.Announcements.ModuleId, dbo.Announcements.CreatedByUser, dbo.Announcements.CreatedDate, dbo.Announcements.Title, dbo.Announcements.ImageSource, dbo.Announcements.URL, dbo.Announcements.Description, dbo.Announcements.ViewOrder, dbo.Announcements.PublishDate, dbo.Announcements.ExpireDate, dbo.UrlTracking.TrackClicks, dbo.UrlTracking.NewWindow from dbo.Announcements left outer join dbo.UrlTracking on dbo.Announcements.URL = dbo.UrlTracking.Url and dbo.UrlTracking.ModuleId = @ModuleID where dbo.Announcements.ModuleId = @ModuleId and ( ((dbo.Announcements.PublishDate >= @StartDate) or @StartDate is null) and (dbo.Announcements.PublishDate <= GETDATE()) ) and ( (dbo.Announcements.ExpireDate > getDate()) or (dbo.Announcements.ExpireDate is null) ) order by dbo.Announcements.ViewOrder asc, dbo.Announcements.PublishDate desc 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.dnnAnnouncements_GetExpired @ModuleId int as select dbo.Announcements.ItemId, dbo.Announcements.ModuleId, dbo.Announcements.CreatedByUser, dbo.Announcements.CreatedDate, dbo.Announcements.Title, dbo.Announcements.ImageSource, dbo.Announcements.URL, dbo.Announcements.Description, dbo.Announcements.ViewOrder, dbo.Announcements.PublishDate, dbo.Announcements.ExpireDate, dbo.UrlTracking.TrackClicks, dbo.UrlTracking.NewWindow from dbo.Announcements left outer join dbo.UrlTracking on dbo.Announcements.URL = dbo.UrlTracking.Url and dbo.UrlTracking.ModuleId = @ModuleID where dbo.Announcements.ModuleId = @ModuleId and dbo.Announcements.ExpireDate <= getDate() order by dbo.Announcements.ViewOrder asc, dbo.Announcements.PublishDate desc 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.dnnAnnouncements_GetAll @ModuleId int, @StartDate datetime, @EndDate datetime as select dbo.Announcements.ItemId, dbo.Announcements.ModuleId, dbo.Announcements.CreatedByUser, dbo.Announcements.CreatedDate, dbo.Announcements.Title, dbo.Announcements.ImageSource, dbo.Announcements.URL, dbo.Announcements.Description, dbo.Announcements.ViewOrder, dbo.Announcements.PublishDate, dbo.Announcements.ExpireDate, dbo.UrlTracking.TrackClicks, dbo.UrlTracking.NewWindow from dbo.Announcements left outer join dbo.UrlTracking on dbo.Announcements.URL = dbo.UrlTracking.Url and dbo.UrlTracking.ModuleId = @ModuleID where dbo.Announcements.ModuleId = @ModuleId and ( ((dbo.Announcements.PublishDate >= @StartDate) or @StartDate is null) and ((dbo.Announcements.PublishDate <= @EndDate) or @EndDate is null) ) order by dbo.Announcements.ViewOrder asc, dbo.Announcements.PublishDate desc

 
New Post
1/10/2008 11:01 AM
 

This is a known issue where specific modules do not support collation that is other than the default latin US one.


-Mitchel Sellers
Microsoft MVP, ASPInsider, DNN MVP
CEO/Director of Development - IowaComputerGurus Inc.
LinkedIn Profile

Visit mitchelsellers.com for my mostly DNN Blog and support forum.

Visit IowaComputerGurus.com for free DNN Modules, DNN Performance Tips, DNN Consulting Quotes, and DNN Technical Support Services
 
New Post
1/10/2008 7:30 PM
 

Although Mitch is correct in theory, this is not a know issue of the Announcement module, and has never been. The announcement module supports all collations that are supported by DNN (in general, DNN does not support case sensitive collations

The issue here is probably just the other way around. Did you by any change migrate your DNN database from another server? If so, chances are that the collation of that other server where different than the collation of your current server. One of the features of SQL Server is that it keeps the original collation for existing objects in the database, but will apply the new server default collation to newly created objects. This error will show itself upon installation of new modules (you would probably have the same issue with a lot of other modules as well). So yes, Mitch was right that this is a know issue..

I wrote a blog about that a long time ago, please read it here: http://www.apollo-software.nl/Blog/tabid/169/EntryID/2/language/en-US/Default.aspx


Erik van Ballegoij, Former DNN Corp. Employee and DNN Expert

DNN Blog | Twitter: @erikvb | LinkedIn: Erik van Ballegoij on LinkedIn

 
New Post
1/11/2008 2:55 AM
 

Thanks for your replies guys,

No I didn't migrate from another server I only upgraded to DNN 4.8. At this time I don't have a problem with any of the other modules.

Thanks

Leif

 
New Post
1/11/2008 4:18 AM
 

Leif, the only way you can get this error is collations do not match. The announcement module does not force collations in the scripts, and will use the database default as a result. Hence, the only option is that the collation of the field in the table that is used in the join of the sprocs that error is different than the database default. One option is that you imported the database from another server, the other option is that something or someone changed the database default collation.. or that something or something changed the collation of the fields that are used in the announcements sprocs that are erroring out.

So you need to check a few things.

  • check the database default collation. You can see that in the DB properties in management studio, or execute this command on the db:

    SELECT

    DATABASEPROPERTYEX('DotNetNuke', 'Collation');  -- Replace DotNetNuke with the actual name of your database
  • From SQL Management Studio, open the Announcements table in design view, and verify that all text fields have the database default collation. Especially check the URL field
  • the table causing the troubles is UrlTracking. Verify that the collation of field Url is also set to database default

It is hard to say how collation conflicts like this come about. They are not easy to solve, as you will have to set collation of all fields to the database default. In my blog, i pointed to an article that shows how you can do that with an sql script. That script will set collation of all text fields in your db to the db default. This is the link to that article: http://www.databasejournal.com/scripts/article.php/3494951


Erik van Ballegoij, Former DNN Corp. Employee and DNN Expert

DNN Blog | Twitter: @erikvb | LinkedIn: Erik van Ballegoij on LinkedIn

 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsAnnouncementsAnnouncementsCollation conflict on installCollation conflict on install


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