Hello, I am having the same issue, both with the Announcements module and with the Forum module. The issue is that a couple fields in my database, namely in the tables Announcements, Files, and UrlTracking, are set to a different collation that the database default - they are set to Latin1_General_CI_AS instead of SQL_Latin1_General_CP1_CI_AS which is my database's collation.
I have managed to get around this by opening up the modules installation .zips and changing the SqlDataProviders themselves. For example, whenever the field FileName from the table dbo.Files is mentioned, I change it from FileName to (FileName COLLATE Latin1_General_CI_AS). This fixes the problem.
HOWEVER - I am concerned that these fields remain in a different collation in the database, and the potential problems that may derivate from this in future module installations. So I have tried the opposite approach, changing the collation of the fields directly in SQL Server. For this I used the following script, adapted for every field and its dependent constraints:
ALTER TABLE dbo.UrlTracking DROP CONSTRAINT IX_UrlTracking
ALTER TABLE dbo.UrlTracking ALTER COLUMN Url nvarchar(255) COLLATE DATABASE_DEFAULT NOT NULL
ALTER TABLE dbo.UrlTracking
ADD CONSTRAINT [IX_UrlTracking] UNIQUE NONCLUSTERED
(
[PortalID] ASC,
[Url] ASC,
[ModuleId] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
But after doing this, DotNetNuke itself crashed with a collation error, and won't show any pages of my website.
Any better ideas?