SSRS中的整理冲突

时间:2018-06-12 08:11:09

标签: sql sql-server reporting-services sql-server-2014

目前正在使用SQL Server 2014,并且在存储过程中存在Collat​​ion问题。我目前有一个运行存储过程的报告,该代码在SSMS中运行时工作正常,但我注意到,当它作为SSRS报告的一部分运行时,Latin1_General_CI_AS_KS_WS和{{1}之间存在整理问题}}

我的数据库设置为Latin1_General_CI_AS以及我的所有表格列,因此我不知道它会导致Latin1_General_CI_AS不一致,有人可以提出任何建议吗?

由于

1 个答案:

答案 0 :(得分:1)

COLLATE是SSRS的默认排序规则。

要么在所有字符串比较中使用ALTER DATABASE属性编写SQL查询,要么使用正确的默认排序规则重新安装SSRS。

请记住,如果您使用SELECT ColumnName = QUOTENAME(s.name) + '.' + QUOTENAME(t.name) + '.' + QUOTENAME(c.name), Collation = c.collation_name FROM sys.schemas s INNER JOIN sys.tables t ON t.schema_id = s.schema_id INNER JOIN sys.columns c ON c.object_id = t.object_id WHERE C.collation_name is not null ORDER BY 1 更改SSRS数据库归类,则不会影响已创建的对象,只会影响从那时起的新对象。

如果这是特定列(而不是整个数据库)的问题,则可以运行此查询以检查所有列的当前排序规则。

ALTER TABLE <tablename> ALTER COLUMN <columnname> <type> COLLATE <newCollate>

然后使用{{1}}进行更改。