Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSRS:带有特殊字符的列名,如$_Reporting Services - Fatal编程技术网

Reporting services SSRS:带有特殊字符的列名,如$

Reporting services SSRS:带有特殊字符的列名,如$,reporting-services,Reporting Services,我在SSRS中使用了一个存储过程来获取数据集。它有一些包含“(“,”),“$”等的列名。我可以在sql server中运行SP。但Refresh字段出现错误,因为“查询包含多个未命名或重复的字段名”。我确信没有这样的栏目。问题是由于栏目[招致成本]和[招致成本](至少根据您提供的详细信息) SSRS不允许在其数据集列中使用特殊字符,如、$和,但它会在可能的情况下尝试将任何查询列替换为\,以将其转换为可接受的名称 在您的情况下,[招致成本$]和[招致成本]都转换为招致成本,因此您的错误是字段名重复

我在SSRS中使用了一个存储过程来获取数据集。它有一些包含“(“,”),“$”等的列名。我可以在sql server中运行SP。但Refresh字段出现错误,因为“查询包含多个未命名或重复的字段名”。我确信没有这样的栏目。

问题是由于栏目
[招致成本]
[招致成本]
(至少根据您提供的详细信息)

SSRS不允许在其数据集列中使用特殊字符,如
$
,但它会在可能的情况下尝试将任何查询列替换为
\
,以将其转换为可接受的名称

在您的情况下,
[招致成本$]
[招致成本]
都转换为
招致成本
,因此您的错误是字段名重复

要创建简单测试,可以使用以下查询创建数据集:

select [Incur Cost$] = 1
SSRS这样做没有错误。您将得到以下错误:

select [Incur Cost$] = 1, [Incur Cost£] = 1

在此阶段,您可以选择更新名称:

必要时更新


作为一种解决方法,您可以在SP中创建更多标准化名称(这实际上是最佳做法选项),也可以在BIDS中手动向数据集添加字段,在其中您可以根据自己的喜好指定数据集名称,考虑到SSRS命名限制。

您能发布SP在SQL中返回的列标题吗?在SP中选择输出时,将这些字段包含在
[]
中会修复此问题吗?如招致成本$招致成本%。我在SPsorry列的内部查询中使用的支付总额(签名)为招致成本$,招致成本%,支付总额(签名)