Types SSRS 2008参数获取nvarchar而不是varchar

Types SSRS 2008参数获取nvarchar而不是varchar,types,ssrs-2008,Types,Ssrs 2008,我在SQLServer2008中创建了三个表,都是 Code char(1) not null, Description varchar(50) 然后是三场狂欢,全部由 create name_menu as begin set nocount on; select Code, Code + ' - ' Description as Description from name; end; (名称为变更部分) 将每个存储过程作为数据集添加到SSRS 2008报告中。然后添加每

我在SQLServer2008中创建了三个表,都是

Code char(1) not null,
Description varchar(50)
然后是三场狂欢,全部由

create name_menu as
begin
set nocount on;
select Code,
       Code + ' - ' Description as Description
  from name;
end;
(名称为变更部分)

将每个存储过程作为数据集添加到SSRS 2008报告中。然后添加每个数据集作为参数,代码作为值,描述作为标签

在报告中,两个菜单看起来与预期的一样,但其中一个仅显示代码、“-”和描述的第一个字母。如果我将参数值作为文本框添加到报告中,则说明部分具有典型的“框”,即试图在ASCII字段中显示UTF-16 little endian

我搜索了报告的XML,发现所有的非数字数据类型都是String或System.String

我查过了

SELECT inf...schema.columns where DATATYPE = 'NVARCHAR'
……而且没有

我删除了存储过程并再次运行create语句,然后告诉SSRS刷新字段

旧版本的SSR用于缓存数据,有时无法刷新,所以我寻找要删除的缓存文件。没有找到

我应该能够投出结果,但我不应该必须投出结果。(如果被告知“你不能那样做”,也就不足为奇了)


建议?

在数据集对话框中,您可以看到参数和结果集数据类型。错误就在那里

检查这些是否有打字错误或错误。或者在存储的进程中,对话框“嗅探”以获取数据类型(但不可能基于给定的信息)

SSRS内部使用什么并不重要…

(尴尬) 我不知道这是怎么发生的,但不知怎的,表格中的原始文本被转换为UTF-16,并像ASCII一样插入到表格中。所以其他每个字符都是空的。SSRS试图将实际存在的内容呈现为声称的数据类型

因为在SSRS中看到虚假文本之前不久,我在表中看到了正确的文本,所以我没有再费心去看。一位同事真的找到了它


但它确实显示了两个错误:SSRS在文本框中做了正确的事情,将每个空值显示为“框”,但在菜单中,它将第一个空值视为字符串的结尾。SSMS在select语句的结果网格中也做了同样的事情。

我因为添加了一个我忘记的细节而获得了编辑徽章?所有其他徽章都一样没有意义吗?谢谢,gbn。听起来不错,但没用。所有三个参数的参数属性都表示类型为“text”。其他选项(浮点、整数、布尔值和日期/时间)均不可接受。这个奇怪的值来自的数据集的数据集属性没有地方说或看关于数据类型的任何内容。