[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Load data

Angelo Ginocchio wrote:
> loading a ldif file of size 4134017648 byte the program "ldif2ldbm"
> write message:"Value too large for defined data type" .
> How can load this file?

This is my guess as to what's happening:

You are trying to load a value in excess of 2147483647 into
a 32 bit signed integer.  Values for a 32 bit signed integer
must be in the range -2147483648 .. 2147483647.

Alternately, you can buy a DEC Alpha or other 64 bit machine,
where instead of 0x80000000..0x7fffffff, the range is 64 bits:

Alternately, if your platform already supports "long long"
as a data type, and your off_t values are 64 bits, then
you can make sure all of the offset math is done as off_t
values, instead of as integers, in the ldif2ldbm program.

I suspect that you are using a Solaris or other box, and you
have not modified the code to use "stat64" instead of "stat",
and so on, since some boxes have seperate 64 bit versions of
interfaces for backward compatability.

If all else fails, then you will probably have to break the
file up into chunks, and add them seperately... and hope that
your backend database is not similarly 32 bit signed damaged
(e.g. use Berkeley DB instead of GDBM, etc.).

-- Terry Lambert
-- Whistle Communications, Inc., an I.B.M. Company
-- terry@whistle.com
This is formal notice under California Assembly Bill 1629, enacted
9/26/98 that any UCE sent to my email address will be billed $50
per incident to the legally allowed maximum of $25,000.