I have a report I'm developing with SSRS using an ODBC datasource. The query I'm running has three integer values it's returning. It correctly defined one as Int64 but it made two other values Int32 even though they were out of range for that. Now when I run the report it says
The dataset ‘DataSet1’ contains a definition for the Field ‘MessageId’. This field is missing from the returned result set from the data source
then
[rsErrorReadingDataSetField] The dataset ‘DataSet1’ contains a definition for the Field ‘MessageId’. The data extension returned an error during reading the field. System.Data.Odbc.OdbcException (0x80131937): ERROR [22003] [Cache ODBC][State : 22003][Native Code 22003] [C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe] ERROR #388: Unknown error, code 22003 at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) at 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)
at System.Data.Odbc.OdbcDataReader.internalGetInt32(Int32 i) at System.Data.Odbc.OdbcDataReader.GetValue(Int32 i, TypeMap typemap)
at System.Data.Odbc.OdbcDataReader.GetValue(Int32 i) at Microsoft.ReportingServices.DataExtensions.DataReaderWrapper.GetValue(Int32 fieldIndex) at Microsoft.ReportingServices.DataExtensions.MappingDataReader.GetFieldValue(Int32 aliasIndex)
I opened the report code and changed the dataset values manually to Int64 but still get the same error.
Any ideas?
Could it be Visual Studio caching the results of the query? (and therefore not picking up new values in the result-set?)
Go to the directory where you RDL file is and delete the file [yourReport].rdl.data
. see if that helps? Of course, the cached file (*.data) will get updated if you run the report with different params, so this might be a total red herring.
User contributions licensed under CC BY-SA 3.0