我正在使用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但仍然得到相同的错误。
有什么想法吗?
答案 0 :(得分:0)
是否可以通过Visual Studio缓存查询结果? (因此不会在结果集中获取新值?)
转到RDL文件所在的目录,然后删除文件[yourReport].rdl.data
。看看这有帮助吗?当然,如果您使用不同的参数运行报告,缓存的文件(* .data)将会更新,因此这可能是一个完整的红色鲱鱼。