By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,924 Members | 1,793 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,924 IT Pros & Developers. It's quick & easy.

SQL0444 received when executing a stored procedure

P: n/a
JS
I have v8.1 fix 5 installed on windows 2k.
I compiled a stored procedure in development environment, then used
the get routine command to generate the file.
I transferred the file to second test environment with same fixpack
level, but no compiler or development environment installed.
I issued put routine in second test environment and command succeeded
but when i try and run the stored proc with call command, db2 comes
back with sql0444 reason code 4 with reference to function pgmjmp
which i beleive is called from sqlutil.h.
I tried copying sqlutil.h into include directory in second test
environment but got the same result.
Can somebody explain what the fix is?
Thanks
Nov 12 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
JS wrote:
I have v8.1 fix 5 installed on windows 2k.
I compiled a stored procedure in development environment, then used
the get routine command to generate the file.
I transferred the file to second test environment with same fixpack
level, but no compiler or development environment installed.
I issued put routine in second test environment and command succeeded
but when i try and run the stored proc with call command, db2 comes
back with sql0444 reason code 4 with reference to function pgmjmp
which i beleive is called from sqlutil.h.
I tried copying sqlutil.h into include directory in second test
environment but got the same result.
Can somebody explain what the fix is?


sqlutil.h is just a header file and has nothing to do with libraries being
loaded or functions within such libraries being called.

The reason code 4 of SQL0444 tells you that the library that implements the
stored procedure could not be found. Have you verified that the library
(whose name was given in the error message) actually exists on the second
system?

What language (Java, SQL, C) is used to write the procedure?
What do you have in the db2diag.log file?

--
Knut Stolze
Information Integration
IBM Germany / University of Jena
Nov 12 '05 #2

P: n/a
JS
Knut Stolze <st****@de.ibm.com> wrote in message news:<cf**********@fsuj29.rz.uni-jena.de>...
JS wrote:
I have v8.1 fix 5 installed on windows 2k.
I compiled a stored procedure in development environment, then used
the get routine command to generate the file.
I transferred the file to second test environment with same fixpack
level, but no compiler or development environment installed.
I issued put routine in second test environment and command succeeded
but when i try and run the stored proc with call command, db2 comes
back with sql0444 reason code 4 with reference to function pgmjmp
which i beleive is called from sqlutil.h.
I tried copying sqlutil.h into include directory in second test
environment but got the same result.
Can somebody explain what the fix is?
sqlutil.h is just a header file and has nothing to do with libraries being
loaded or functions within such libraries being called.

Yes, understood, I copied it there because the .c file generated by
the create procedure statement made reference to SQL_API_RC which is
in that header, so I'm just trying anything!
The reason code 4 of SQL0444 tells you that the library that implements the
stored procedure could not be found. Have you verified that the library
(whose name was given in the error message) actually exists on the second
system?
Yes I have, as I said, the put routine succeeded so the dll and the
log file was created in the correct place.
What language (Java, SQL, C) is used to write the procedure? Language SQL What do you have in the db2diag.log file?

The log file indicates that the dbm cannot find the dll in the
expected place using the UNC path variable associated with
db2instprof, however, the dll is definately there and disappears when
the procedure is dropped.
Any ideas?
Nov 12 '05 #3

P: n/a
JS wrote:
Knut Stolze <st****@de.ibm.com> wrote in message
news:<cf**********@fsuj29.rz.uni-jena.de>...
JS wrote:
> I have v8.1 fix 5 installed on windows 2k.
> I compiled a stored procedure in development environment, then used
> the get routine command to generate the file.
> I transferred the file to second test environment with same fixpack
> level, but no compiler or development environment installed.
> I issued put routine in second test environment and command succeeded
> but when i try and run the stored proc with call command, db2 comes
> back with sql0444 reason code 4 with reference to function pgmjmp
> which i beleive is called from sqlutil.h.
> I tried copying sqlutil.h into include directory in second test
> environment but got the same result.
> Can somebody explain what the fix is?


sqlutil.h is just a header file and has nothing to do with libraries
being loaded or functions within such libraries being called.

Yes, understood, I copied it there because the .c file generated by
the create procedure statement made reference to SQL_API_RC which is
in that header, so I'm just trying anything!

The reason code 4 of SQL0444 tells you that the library that implements
the
stored procedure could not be found. Have you verified that the library
(whose name was given in the error message) actually exists on the second
system?


Yes I have, as I said, the put routine succeeded so the dll and the
log file was created in the correct place.
What language (Java, SQL, C) is used to write the procedure?

Language SQL
What do you have in the db2diag.log file?

The log file indicates that the dbm cannot find the dll in the
expected place using the UNC path variable associated with
db2instprof, however, the dll is definately there and disappears when
the procedure is dropped.
Any ideas?


Hard to tell. Could you set the diaglevel to 4, run the failing CALL
statement again and then post the relevant content of the db2diag.log?

Just some other ideas:
Have you checked the privileges on all the directories and the library
itself?
The transferred lib on the second system, has it the very same size as on
the development system?

You might also want to contact IBM support.

--
Knut Stolze
Information Integration
IBM Germany / University of Jena
Nov 12 '05 #4

P: n/a
JS
Knut Stolze <st****@de.ibm.com> wrote in message news:<cf**********@fsuj29.rz.uni-jena.de>...
JS wrote:
Knut Stolze <st****@de.ibm.com> wrote in message
news:<cf**********@fsuj29.rz.uni-jena.de>...
JS wrote:

> I have v8.1 fix 5 installed on windows 2k.
> I compiled a stored procedure in development environment, then used
> the get routine command to generate the file.
> I transferred the file to second test environment with same fixpack
> level, but no compiler or development environment installed.
> I issued put routine in second test environment and command succeeded
> but when i try and run the stored proc with call command, db2 comes
> back with sql0444 reason code 4 with reference to function pgmjmp
> which i beleive is called from sqlutil.h.
> I tried copying sqlutil.h into include directory in second test
> environment but got the same result.
> Can somebody explain what the fix is?

sqlutil.h is just a header file and has nothing to do with libraries
being loaded or functions within such libraries being called. Yes, understood, I copied it there because the .c file generated by
the create procedure statement made reference to SQL_API_RC which is
in that header, so I'm just trying anything!

The reason code 4 of SQL0444 tells you that the library that implements
the
stored procedure could not be found. Have you verified that the library
(whose name was given in the error message) actually exists on the second
system?


Yes I have, as I said, the put routine succeeded so the dll and the
log file was created in the correct place.
What language (Java, SQL, C) is used to write the procedure? Language SQL What do you have in the db2diag.log file?

The log file indicates that the dbm cannot find the dll in the
expected place using the UNC path variable associated with
db2instprof, however, the dll is definately there and disappears when
the procedure is dropped.
Any ideas?


Hard to tell. Could you set the diaglevel to 4, run the failing CALL
statement again and then post the relevant content of the db2diag.log?

It already is at 4, thats where I got the above message.
Just some other ideas:
Have you checked the privileges on all the directories and the library
itself? This is Windows 2000 AS, we dont assign specific security to any db2
folders. The transferred lib on the second system, has it the very same size as on
the development system? When you say lib, could you be more specific? Which folder are you
referring to, sqllib\include? or the folder which contains the dll?
You might also want to contact IBM support.

Yes, if I can't get it resolved here I probably will do that
Nov 12 '05 #5

P: n/a
JS wrote:
>> What do you have in the db2diag.log file?
> The log file indicates that the dbm cannot find the dll in the
> expected place using the UNC path variable associated with
> db2instprof, however, the dll is definately there and disappears when
> the procedure is dropped.
> Any ideas?
Hard to tell. Could you set the diaglevel to 4, run the failing CALL
statement again and then post the relevant content of the db2diag.log?

It already is at 4, thats where I got the above message.


Well, what's the exact error message then?
Just some other ideas:
Have you checked the privileges on all the directories and the library
itself? This is Windows 2000 AS, we dont assign specific security to any db2
folders.


As far as I know, Windows has privileges for files and directories (at least
if you use NTFS). So you really might want to check those privileges.
The transferred lib on the second system, has it the very same size as on
the development system?


When you say lib, could you be more specific? Which folder are you
referring to, sqllib\include? or the folder which contains the dll?


With "lib" I mean "library" i.e. dll. The library that implements the
procedure that is to be called.

--
Knut Stolze
Information Integration
IBM Germany / University of Jena
Nov 12 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.