onpladm load job with spec file (includes simple but lengthy test case)
Posted in 2003
Topics: Performance & Tuning, Server Administration, Platform-Specific Issues, Versions, Editions & End-of-Life
Part of the fun of migrating to new releases (besides learning new
bugs and incompatibilities with old apps) is learning the new
utilities.
For example, I am attempting to learn the onpladm tool which provides
a command-line interface to the High Performance Loader (HPL) with IDS
9.40.UC2 on Solaris.
I am attempting to create a project and a load job through spec files.
So far, failure occurs when reading the LOADJOB portion of the spec
file.
The scripts I started with were provided by someone who claims they
work on IDS 9.20.TC1, a version unavailable to me. In the end,
though, I built my own scripts using the highly uninformative IBM
Informix High-Performance Loader User's Guide, Version 9.4
(G251-1255-00) available online at:
http://publibfi.boulder.ibm.com/epubs/pdf/ct1t3na.pdf
It still does not work.
So far, support has not been able to answer my question, which is
fairly simple: am I doing something wrong, or is this a bug? Of
course, once I get the answer to that, I hope to find out how to fix
the problem.
Unfortunately, I am not just doing this for fun; I have a deadline by
which I have to have an answer. As if by coincidence, it is
Wednesday.
If anyone would care to peruse my case and see if they can provide an
answer, I would be most appreciative. I have included my test case
after my signature (because it is too long and no one would read that
far down, if it were at the top).
Sincerely,
Christopher Coleman
Database Analyst
Pharmacy Division
Mediware Information Systems, Inc.
Here are the commands I run; beware of the first one:
echo "DROP DATABASE onpload ;" |dbaccess -e
echo "DROP DATABASE targetdatabasename ;" |dbaccess -e
echo "CREATE DATABASE targetdatabasename WITH LOG;" |dbaccess -e
echo "CREATE TABLE targettablename (columnname CHAR);" |dbaccess -e
targetdatabasename
onpladm create project projectname
onpladm create object -F specfilename
Here are the specfilename contents.
BEGIN OBJECT DEVICEARRAY device_array_name
BEGIN SEQUENCE
TYPE FILE
FILE device_path
TAPEBLOCKSIZE 0
TAPEDEVICESIZE 0
PIPECOMMAND
END SEQUENCE
END OBJECT
BEGIN OBJECT DELIMITEDFORMAT formatname
PROJECT projectname
CHARACTERSET
RECORDSTART
RECORDEND
FIELDSTART
FIELDEND
FIELDSEPARATOR |
BEGIN SEQUENCE
FIELDNAME fieldname
FIELDTYPE Chars
END SEQUENCE
END OBJECT
BEGIN OBJECT LOADMAP mapname
PROJECT projectname
FORMAT formatname
DATABASE targetdatabasename
TABLE targettablename
BEGIN SEQUENCE
COLUMNNAME columnname
FIELDNAME fieldname
JUSTIFICATION
CASECONVERT
DEFAULTVALUE
TRANSFERBYTES
COLUMNOFFSET
FIELDOFFSET
FIELDMINIMUM
FIELDMAXIMUM
FILLCHARACTER
PICTURE
FUNCTION
STORAGECODING
BLOBCOLUMN
END SEQUENCE
END SEQUENCE
END OBJECT
BEGIN OBJECT LOADJOB jobname
PROJECT projectname
DEVICE device_array_name
MAP mapname
FILTER
SERVER
DATABASE
REJECTFILE
LOGFILE
RUNMODE
GENERATEVIORECS
TAPES
NUMRECORDS
STARTRECORD
MAXERRORS
END OBJECT
On 24 Nov 2003 10:06:50 -0800, christopher.coleman@mediware.com
(Christopher) wrote:
>Part of the fun of migrating to new releases (besides learning new
>bugs and incompatibilities with old apps) is learning the new
>utilities.
>
>For example, I am attempting to learn the onpladm tool which provides
>a command-line interface to the High Performance Loader (HPL) with IDS
>9.40.UC2 on Solaris.
>
>I am attempting to create a project and a load job through spec files.
> So far, failure occurs when reading the LOADJOB portion of the spec
>file.
>
>The scripts I started with were provided by someone who claims they
>work on IDS 9.20.TC1, a version unavailable to me. In the end,
>though, I built my own scripts using the highly uninformative IBM
>Informix High-Performance Loader User's Guide, Version 9.4
>(G251-1255-00) available online at:
>http://publibfi.boulder.ibm.com/epubs/pdf/ct1t3na.pdf
Something that may help would be the (hopefully more informative)
article written about onpladm (from yours truly) at the Informix
Developer Zone . . .
http://www-106.ibm.com/developerworks/db2/zones/informix/library/techarticle/0307carlson/0307carlson.html
John Carlson offered his more informative article about onpladm:
> http://www-106.ibm.com/developerworks/db2/zones/informix/library/techarticle/0307carlson/0307carlson.html
Actually, John, I had already read, bookmarked, and printed out that
article, which was very helpful. Unfortunately, it does not give an
example of creating load jobs with spec files, just device arrays. It
is the load job which fails with a syntax error, despite my best
efforts.
John uses the term "template file", the manual uses the terms
"Specification-File" or "spec file". I, personally, have been using a
whole different class of terms.
Sincerely,
Christopher Coleman
Database Analyst
Pharmacy Division
Mediware Information Systems, Inc.
Christopher wrote:
>
> Part of the fun of migrating to new releases (besides learning new
> bugs and incompatibilities with old apps) is learning the new
> utilities.
>
> For example, I am attempting to learn the onpladm tool which provides
> a command-line interface to the High Performance Loader (HPL) with IDS
> 9.40.UC2 on Solaris.
>
> I am attempting to create a project and a load job through spec files.
> So far, failure occurs when reading the LOADJOB portion of the spec
> file.
>
> The scripts I started with were provided by someone who claims they
> work on IDS 9.20.TC1, a version unavailable to me. In the end,
> though, I built my own scripts using the highly uninformative IBM
> Informix High-Performance Loader User's Guide, Version 9.4
> (G251-1255-00) available online at:
> http://publibfi.boulder.ibm.com/epubs/pdf/ct1t3na.pdf
>
> It still does not work.
>
> So far, support has not been able to answer my question, which is
> fairly simple: am I doing something wrong, or is this a bug? Of
> course, once I get the answer to that, I hope to find out how to fix
> the problem.
>
> Unfortunately, I am not just doing this for fun; I have a deadline by
> which I have to have an answer. As if by coincidence, it is
> Wednesday.
>
> If anyone would care to peruse my case and see if they can provide an
> answer, I would be most appreciative. I have included my test case
> after my signature (because it is too long and no one would read that
> far down, if it were at the top).
>
> Sincerely,
>
> Christopher Coleman
>
> Database Analyst
> Pharmacy Division
> Mediware Information Systems, Inc.
>
> Here are the commands I run; beware of the first one:
> echo "DROP DATABASE onpload ;" |dbaccess -e
> echo "DROP DATABASE targetdatabasename ;" |dbaccess -e
> echo "CREATE DATABASE targetdatabasename WITH LOG;" |dbaccess -e
> echo "CREATE TABLE targettablename (columnname CHAR);" |dbaccess -e
> targetdatabasename
>
> onpladm create project projectname
> onpladm create object -F specfilename
>
> Here are the specfilename contents.
>
[ ... snip ... ]
> BEGIN OBJECT LOADJOB jobname
>
> PROJECT projectname
> DEVICE device_array_name
> MAP mapname
>
> FILTER
> SERVER
> DATABASE
> REJECTFILE
> LOGFILE
> RUNMODE
> GENERATEVIORECS
> TAPES
> NUMRECORDS
> STARTRECORD
> MAXERRORS
>
> END OBJECT
what ist the error?
At the point of error do you have *anything*
in your $DBONPLOAD database?
Does
onpladm list device
give you some output?
If yes, does
onpladm decribe device device_array_name
give you output, which looks as expected?
Also try to list all other entries (formats, maps ...)
Here is, what I do:
I use the quick, command based way to get sort of 'skeleton'
(describe puts it out in nice form)
I never did combine more than 1 step:
I have separate onpladm calls for device first, then
for generate the jobs, then for running the jobs.
Only in the case of PIPECOMMAND one must edit the contents
of the dsf file, as the first whitespace ends the text
(a well known behaviour)
Else I never saw any problem.
dic_k
--
Richard Kofler
SOLID STATE EDV
Dienstleistungen GmbH
Vienna/Austria/Europe
Related threads
- the longer you surf, the MORE $$$ you earn !!
- Store procedure
- emulation for Vt100
- extent size questions again ...