Tuesday, March 27, 2012

Error Processing Cube on 64-bit server

We are in the process of migrating to a new 64-bit server. We changed the data provider for the cube from "Microsoft OLE DB Provider for Oracle" to ".Net Provider\OracleClient Data Provider" for the 64-bit and when we try and process this cube, we get the following error:

Errors in the high-level relational engine. The following exception occurred while the managed IDataReader interface was being used: Value was either too large or too small for a Currency..

This very same cube was able to process on the 32-bit server just fine. The field that the error refers to is a number(28,0) in oracle and is fully populated in the database. I set up a simple cube on my laptop and if I cut the value in the field down to 15 numbers it will process correctly. I have maxed out the precision of the number type to 38 as well and I am still getting the error when more than 15 numbers are populated in a single field.

Does anyone know what is keeping the cube from processing with ODP.Net when it is processing fine with the other data provider?

This has to do with the conversion of that data type in the Oracle Provider, Analysis Services wouldn't be generating that error, it would be just passing it on. I would consult with Oracle to find out more regarding it.

Is the data type in the dimension or Fact for this field Currency? If so you may want to change it in AS so there is no conversion.

David

No comments:

Post a Comment