Re: dbcopy problem
Posted in 2003
On Mon, 22 Sep 2003 11:26:40 -0400, Lou Klimoff wrote:
Hi,
I'll look into this and see what I can figure out. Meanwhile Milena's
suggestion to use the hploader is not a bad one at all.
I'll also comment on your notes below tomorrow.
Art S. Kagel
> Hi all.
> My group is going to be doing a major database migration in a couple of weeks
> and I just discovered the dbcopy utility and thought it would be just the
> thing. Unfortunately I have been having problems with dbcopy. I have spent the
> last couple of days going over the Informix Fetch Array documentation and the
> dbcopy source and I am stumped.
>
>
> When I run the program with the following command line: ./dbcopy -t item_test
> -T item_test -d bas -D loutest -g
>
> I get the following results:
> Selecting data from bas@mem_dev_tcp with:
> SELECT * FROM item_test;>
>
> Inserting data to loutest@mem_dev_tcp with:
> INSERT INTO item_test (
> item_id,
> item_class,
> item_instance_name,
> item_create_date,
> item_blob,
> acc_id,
> item_type,
> user_id,
> prod_id,
> lc_date
> ) values (
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ? );>
> Error fetching row! Code=-19986, ISAM=0. Segmentation Fault(coredump)
>
> (and what is error -19986: I don't see it documented anywhere or mentioned on
> groups anywhere?)
>
>
>
>
> The schema for the table I am testing with is as follows: DBSCHEMA Schema
> Utility INFORMIX-SQL Version 9.40.FC2 Copyright (C) Informix Software,
> Inc., 1984-1997 Software Serial Number AAA#B000000 { TABLE
> "klimoffl".item_test row size = 364 number of columns = 10 index size = 0
> }
> create table "klimoffl".item_test
> (
> item_id serial not null ,
> item_class integer,
> item_instance_name varchar(255),
> item_create_date datetime year to second
> default current year to second,
> item_blob text,
> acc_id char(10),
> item_type char(1),
> user_id char(15),
> prod_id char(2),
> lc_date datetime year to second
> default current year to second
> );
> revoke all on "klimoffl".item_test from "public";>
>
> The source table has 24 rows and the largest blob is 1490 bytes. If I load
> another 42 rows into the source table (the largest is still 1490 bytest) I get
> an error -465 "No more memory for locator buffer." My system has plenty of
> swap space ...
>
> The esql library I linked against is:
> IBM/Informix-Client SDK Version 2.81.UC1 IBM/Informix EMBEDDED SQL for C
> Version 9.53.UC1 Copyright (C) 1991-2003 IBM
>
> The version of dbcopy is
> dbcopy.ec: Revision: 1.40 Copyright 1996-2003 by Art S. Kagel.
> License for private usage (including use by commercial
> enterprise
> for its own needs) is granted. Commercial and exploitation
> rights
> are reserved.
>
>
> The database is running IDS v9.40 FC2 and lives on an AlphaServer running
> Tru64 5.1B .
>
> dbcopy is running on a Solaris system running Solaris 7.
>
> The compile line for dbcopy was:
> esql -static dbcopy.ec -o dbcopy
>
>
> Thanks in advance - any help would be greatly appreciated,
>
> Lou
>
>
>
> BTW, if anybody is listening - here is a comment on the Informix
> documentation:
> dbcopy deals with several Fetch Array issues that aren't documented and the
> example programs ignore. The one I ran into is that the documentation and the
> example programs recommend summing sqllen to determine the length of the input
> buffer which won't work for the SQLDTIME data type. dbcopy uses rtypalign() to
> determine the length of the input buffer. Also, the examples use sqllen as
> input to rtypmsize() but dbcopy hard codes this value for SQLDTIME data type.