首页 > 解决方案 > 导致 SSRS 报告添加额外空格的 SQL 数据类型问题

问题描述

最初的问题是一份报告切断了一些文本。我调查并确定这是正在使用的视图的结果。该字段使用 CHAR(30),它将在 30 个字符后截断文本。

我决定将其更改为 VARCHAR(256) 以确保它有足够的空间。视图中的数据看起来很棒,但是当我在 SSRS 中运行报告时,它看起来像是三倍行距:报告中的数据以类似列表的格式组织。列表之间的空间非常大。它使报告的页数增加了一倍。我恢复为 VARCHAR(64),但仍有一些超过 64 个字符的字符串文本。

我检查了 RDL 中字段的属性。它设置为“增加高度”,我认为这可以解决格式问题。

似乎没有很多空白导致问题。坦率地说,我不确定为什么使用 CONVERT 开头将其设置为 CHAR(30) - 它是一个文本字段,所以我认为不需要转换它,因为它显示为文本(字符串) .

你怀疑是什么问题?令人讨厌的是我最初的更改在测试环境中运行良好,但一旦投入生产,它就创建了三倍间距。

感谢您的帮助!

标签: sqlsql-serverreporting-servicesssrs-2016

解决方案


你确定你想要 CHAR(30)。当您使用 CHAR 数据类型时,您将返回指定的字符数。即使字符串有 5 个字符,你也会得到 30 个。这可能会导致换行。


推荐阅读