在SSRS

时间:2017-06-14 15:26:33

标签: reporting-services odbc ssrs-2012

我正在使用ODBC数据源使用SSRS开发报告。我正在运行的查询有三个返回的整数值。它正确地将一个定义为Int64,但它使另外两个值Int32,即使它们超出范围。现在,当我运行报告时,它说

  

数据集'DataSet1'包含Field的定义   “MESSAGEID”。从返回的结果集中缺少此字段   数据源

然后

  

[rsErrorReadingDataSetField]数据集'DataSet1'包含一个   字段'MessageId'的定义。数据扩展返回了一个   读取字段时出错。 System.Data.Odbc.OdbcException   (0x80131937):错误[22003] [缓存ODBC] [状态:22003] [本机代码   22003] [C:\ Program Files(x86)\ Microsoft Visual Studio   12.0 \ Common7 \ IDE \ PrivateAssemblies \ PreviewProcessingService.exe] ERROR#388:未知错误,代码22003 at   System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle,   RetCode retcode)在System.Data.Odbc.OdbcDataReader.GetData(Int32   i,SQL_C sqlctype,Int32 cb,Int32& cbLengthOrIndicator)at   System.Data.Odbc.OdbcDataReader.GetData(Int32 i,SQL_C sqlctype)
  在System.Data.Odbc.OdbcDataReader.internalGetInt32(Int32 i)at   System.Data.Odbc.OdbcDataReader.GetValue(Int32 i,TypeMap typemap)
  在System.Data.Odbc.OdbcDataReader.GetValue(Int32 i)at   Microsoft.ReportingServices.DataExtensions.DataReaderWrapper.GetValue(的Int32   fieldIndex)at   Microsoft.ReportingServices.DataExtensions.MappingDataReader.GetFieldValue(的Int32   aliasIndex)

我打开了报告代码并手动将数据集值更改为Int64但仍然得到相同的错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

是否可以通过Visual Studio缓存查询结果? (因此不会在结果集中获取新值?)

转到RDL文件所在的目录,然后删除文件[yourReport].rdl.data。看看这有帮助吗?当然,如果您使用不同的参数运行报告,缓存的文件(* .data)将会更新,因此这可能是一个完整的红色鲱鱼。