You need to write a IUserType to customize NH handling of UInt, or subclass the ODP provider and handle that ther.
On Sat, Dec 5, 2009 at 3:53 PM, Victor Rosenberg <[email protected]> wrote: > Hey guys > I've already posted a similar post on the NHUsers group, but I think > it fits more in here. > I'm having problems with storing uint properties to the oracle > database (using the ODP provider). > The property is properly mapped (<property .... type="UInt32"/>) and > the column type is INTEGER. > The exception thrown is "Value doesn't fall within the expected > range". > > After some debugging, this is what turns out: > (In GenerageParamater function) NHib uses > parameters, created by the ODP's Command object. The command has the > default values and is initalized in the InitializeParameter function. > InitializeParameter(in OracleDataClientDriver) in its turn, ensures > that the parameter isnt boolean or a guid, and sends it to be > initialized to InitializeParameter in DriverBase. > Driver base just tries to assign the sqlType received by the > parameter, which is UInt32 and fails. Apparently ODP doesnt support > UInts. > > What do we do from here? > Thanks in advance >
