我已使用他们的工具将MS Access 2010数据移动到SQL,现在通过Unicode过滤在Access链接表中不起作用。我看到SQL中的链接表列是“nvarchar”,但在Access中“Unicode压缩”设置为“否”,我无法更改它。
答案 0 :(得分:4)
据我了解,“Unicode压缩”设置仅影响本机Access(ACE / Jet)表,并且对ODBC链接表没有影响。相反,您可能需要做的是使用SQL Server Management Studio更改SQL Server数据库本身的“排序规则”设置:
例如,使用上面的SQL Server排序规则设置(“SQL_Latin1_General_CP1_CI_AS”),我无法从Access过滤希腊字符(例如,'γιορτή'),但如果我将SQL Server数据库的排序规则更改为“Greek_CI_AS”,那么相同的Access过滤器将起作用。
修改评论<评论
虽然此解决方案适用于SQL Server本身支持的单字节代码页(例如,希腊语,对应于Windows-1253),但它不适用于缺少这些代码页的语言,并且必须是代表
Access中的ODBC链接表显然不完全支持Unicode,将搜索字符串作为'text'
传递给SQL Server,而不是N'text'
,因此SQL Server觉得有必要根据所选文本解释任何此类文本单字节代码页(通过“整理”)设置。