外国口音/整理SQL Server 2008 R2

时间:2014-10-06 21:59:53

标签: sql sql-server-2008-r2 collation

我们正在将数据库从Oracle Database 11g企业版(我们无法控制)映射并复制到SQL Server 2008 R2(我们有控制权)。

数据复制由C#代码与Oracle客户端(ODAC)完成。在我们需要验证SQL Server 2008 R2上的复制数据之前,一切正常。

问题在于SQL Server 2008 R2。

使用SQL Server Management Studio,我能够看到带有外国口音字段的记录:

select * 
from EVENT_LOG 
where ID = 30268 and EVENT_DATETIME = '2014-9-24 13:10:31.000'

此查询将返回多条记录,我只显示一条记录为

ID            | EVENT_DATETIME               | ........ | EVENT_DESCRIPTION
------------------------------------------------------------------------------------------
30268         |2014-9-24 13:10:31.0000000    | ........ | Les cibles XM Num et/ou les limites ont �t� automatiquement mises � jour.

此表的主键由IDEVENT_DATETIMEEVENT_DESCRIPTION组成。因此,有必要在查询中包含所有3个字段以查找唯一记录。

所以查询就像

select * 
from EVENT_LOG 
where ID = 30268 
  and EVENT_DATETIME = '2014-9-24 13:10:31.0000000' 
  and EVENT_DESCRIPTION = 'Les cibles XM Num et/ou les limites ont �t� automatiquement mises � jour.'

但是,上述查询将不会在SQL Server 2008 R2 Management Studio中返回任何内容。当我使用Microsoft SQL CLIENT在C#代码中运行查询时也是如此。我没有回复记录。这一栏" EVENT_DESCRIPTION"需要存储各种外国口音,不仅限于法语。

SQL Server 2008 R2中的排序规则为SQL_Latin1_General_CP1_CI_AS

我也尝试过查询

select * 
from EVENT_LOG 
where ID = 30268 
  and EVENT_DATETIME = '2014-9-24 13:10:31.0000000' 
  and EVENT_DESCRIPTION = N'Les cibles XM Num et/ou les limites ont �t� automatiquement mises � jour.'

如此链接" query collation on foreign language field in Latin table"所示。它还没有用。

EVENT_DESCRIPTION是" nvarchar(4000)"

0 个答案:

没有答案