Upgrading the development environment from DB2 V6.1 FP? to V7.1 FP3, with
AIX 4.3.3 and IBM Visual Age C V5.0.1 (if I read the lslpp correctly).
The V7 PREP generated uncompilable NULL values in translated embedded SQL
statements. I.e. where the C pre-compile put in 0, the DB2 pre-compiler
changed it to NULL, which is invalid to C.
As far as I can see, we're on a later version of C (not C++) than is
required by DB2 V7.2
>From the developer:
BACKGROUND
When an executable is prep'ed, compiled, and linked it goes thru the
following steps:
* Original source has a suffix of .sqc
* Original source is passed into db2 with the following command
(assume xx.sqc)
to perform the 'precompile':
db2 prep xx.sqc bindfile preprocessor "xlc -P -C -I
/home/db2dmsi2 \
-I/home/dms/source -g -qcpluscmt -DNDEBUG"
qualifier db2dmsi2
This performs two steps:
* The 'C' preprocessor is invoked and include files are merged.
The output is a file with a suffix of ".i"
(i.e. xx.i)
* DB2 precompiles the '.i' file, converting all 'EXEC SQL' into
function calls.
The output is a file with a suffix of ".c"
* The preprocessed and precompiled file (i.e. xx.c ) is passed into to
the C compiler
The C compiler compiles the program and invokes the 'linker'
to link it.
The output is a file with no suffix.
The xx.i file does not contain 'NULL' (NULL is a 'defined' value of zero
)...
... every occurance of 'NULL' in the source (xx.sqc) has been replaced with
its define'd value, zero).
The xx.c file, does contain 'NULL' ... the places they occur are where DB2
has
converted 'EXEC SQL' calls into function calls... and NULL is one of the
parameters
to those calls... specifically as a parameter to sqlasetda().
I found an old test file that had been compiled in version 6...
...It did not have any calls to sqlasetda()...
I saved off that version and compiled it with version 7...
...and the same problem occurred... specifically
NULL was used as a parameter to the sqlasetda() function.
Back to the DBA:
We're not C coders. We're mutating OS/390 DBA's...
Anyone familiar with this problem and it's solution?
Thanks,
Tim Ohling
Senior Database Administrator
CNF Certifiable FTE
CNF AdTech
e-mail: [EMAIL PROTECTED]
Are DBA's ParaNormal?
=====
To unsubscribe, send 'unsubscribe' to [EMAIL PROTECTED]
For other info (and scripts), see http://people.mn.mediaone.net/scottrmcleod