Re: SQL*loader thinks load zero length varchars are NULLS

From: Aleksey Burdakov <burdakov_at_vesco.ru>
Date: 30 Jan 2002 09:13:25 -0800
Message-ID: <9292180b.0201300913.6df0bc3e_at_posting.google.com>


> This data came from an old informix database that is being
> migrated to oracle. Under informix it was possible to have
> a VARCHAR field that is not NULL in the database sense, yet
> has a zero-length string as its value.

A brief cite from another posting
(powersoft.public.powerbuilder.general):

9) Both dbms' have screwed up varchar data types. With Sybase, if you try to
store an empty string, the dbms converts it to a single space. With Oracle,
if you try to store an empty string, the dbms converts it to null. If you
use the "empty string is null" option of the datawindow and make sure your
varchars allow nulls, both dbms' will pretty much work the same way.

So, are you sure that in your informix database you had empty NOT-NULL strings, and not single-spaced values ?
If that's the issues, then you should redefine f2 and f3 field as NULLS allowed.
Then after the successfull load you should update these NULL fields into single spaces, and after that make fields f2 and f3 as NOT NULLs.

Best Regards,

Aleksey Burdakov Received on Wed Jan 30 2002 - 18:13:25 CET

Original text of this message