Fix Oracle provider problems pointed out by recent changes.

This change fixes (a) problems with "long" fields that your recent change pointed out, (b) make Oracle consistent with other providers in explicitly specifying null for nullable fields, and (c) make it possible to read Guids from the database with your recent changes. Change (c) also makes it possible to use the CompactGuid setting in the Oracle provider as now it completely works. Hopefully you think the changes I made for (c) are OK. Cheers, Bruce