Reporting services SSRS:带有特殊字符的列名,如$
我在SSRS中使用了一个存储过程来获取数据集。它有一些包含“(“,”),“$”等的列名。我可以在sql server中运行SP。但Refresh字段出现错误,因为“查询包含多个未命名或重复的字段名”。我确信没有这样的栏目。问题是由于栏目Reporting services SSRS:带有特殊字符的列名,如$,reporting-services,Reporting Services,我在SSRS中使用了一个存储过程来获取数据集。它有一些包含“(“,”),“$”等的列名。我可以在sql server中运行SP。但Refresh字段出现错误,因为“查询包含多个未命名或重复的字段名”。我确信没有这样的栏目。问题是由于栏目[招致成本]和[招致成本](至少根据您提供的详细信息) SSRS不允许在其数据集列中使用特殊字符,如、$和,但它会在可能的情况下尝试将任何查询列替换为\,以将其转换为可接受的名称 在您的情况下,[招致成本$]和[招致成本]都转换为招致成本,因此您的错误是字段名重复
[招致成本]
和[招致成本]
(至少根据您提供的详细信息)
SSRS不允许在其数据集列中使用特殊字符,如
、$
和
,但它会在可能的情况下尝试将任何查询列替换为\
,以将其转换为可接受的名称
在您的情况下,[招致成本$]
和[招致成本]
都转换为招致成本
,因此您的错误是字段名重复
要创建简单测试,可以使用以下查询创建数据集:
select [Incur Cost$] = 1
SSRS这样做没有错误。您将得到以下错误:
select [Incur Cost$] = 1, [Incur Cost£] = 1
在此阶段,您可以选择更新名称:
必要时更新
作为一种解决方法,您可以在SP中创建更多标准化名称(这实际上是最佳做法选项),也可以在BIDS中手动向数据集添加字段,在其中您可以根据自己的喜好指定数据集名称,考虑到SSRS命名限制。您能发布SP在SQL中返回的列标题吗?在SP中选择输出时,将这些字段包含在
[]
中会修复此问题吗?如招致成本$招致成本%。我在SPsorry列的内部查询中使用的支付总额(签名)为招致成本$,招致成本%,支付总额(签名)