473,322 Members | 1,352 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

Calling a DB/2 v8.2 stored procedure from perl

Hi all
I am trying to call a DB/2 v8.2 stored procedure from Perl DBI and am
getting an error message telling me, that the routine could not be
found in the library path.

[IBM][CLI Driver][DB2/NT] SQL0444N Routine "*_deposit" (specific name
"SQL050519190148810") is implemented with code in library or path
"\finban.cac_deposit", function "finban.cac_deposit" which cannot be
accessed. Reason code: "4". SQLSTATE=42724

Since 8.2 stores stored procedures internaly as byte code, the libaries
can indeed not be found in sqllib/FUNCTION/ROUTINE.

I tried to grant EXECUTE rights to all users on the packages found in
syscat.packages but this changed nothing.

Im am working with v8.2. on Windows, ActivePerl 5.61(638) and DBD-DB2
0.76 and DBI 1.34.

Cheers
Marc

Nov 12 '05 #1
3 2090
md********@gmail.com wrote:
Hi all
I am trying to call a DB/2 v8.2 stored procedure from Perl DBI and am
getting an error message telling me, that the routine could not be
found in the library path.

[IBM][CLI Driver][DB2/NT] SQL0444N Routine "*_deposit" (specific name
"SQL050519190148810") is implemented with code in library or path
"\finban.cac_deposit", function "finban.cac_deposit" which cannot be
accessed. Reason code: "4". SQLSTATE=42724

Since 8.2 stores stored procedures internaly as byte code, the libaries
can indeed not be found in sqllib/FUNCTION/ROUTINE.

I tried to grant EXECUTE rights to all users on the packages found in
syscat.packages but this changed nothing.

Im am working with v8.2. on Windows, ActivePerl 5.61(638) and DBD-DB2
0.76 and DBI 1.34.

The problem you have is independent of PERL.
Now in V8.2 SQL Procedures which are CREATEd in V8.2 ar eall internal.
But external (java, C, ..) procedures or SQL Procedures created prior to
V8.2 still have DLLs.

Cheers
Serge
--
Serge Rielau
DB2 SQL Compiler Development
IBM Toronto Lab
Nov 12 '05 #2
Serge Rielau wrote:
md********@gmail.com wrote:
Hi all
I am trying to call a DB/2 v8.2 stored procedure from Perl DBI and am
getting an error message telling me, that the routine could not be
found in the library path.

[IBM][CLI Driver][DB2/NT] SQL0444N Routine "*_deposit" (specific name
"SQL050519190148810") is implemented with code in library or path
"\finban.cac_deposit", function "finban.cac_deposit" which cannot be
accessed. Reason code: "4". SQLSTATE=42724

Since 8.2 stores stored procedures internaly as byte code, the libaries
can indeed not be found in sqllib/FUNCTION/ROUTINE.

I tried to grant EXECUTE rights to all users on the packages found in
syscat.packages but this changed nothing.

Im am working with v8.2. on Windows, ActivePerl 5.61(638) and DBD-DB2
0.76 and DBI 1.34.

The problem you have is independent of PERL.
Now in V8.2 SQL Procedures which are CREATEd in V8.2 ar eall internal.
But external (java, C, ..) procedures or SQL Procedures created prior to
V8.2 still have DLLs.

Cheers
Serge

To add to what Serge says, we got exactly the same problem with SPs being
called from VB after we migrated from V8.1 to V8.2 : what we found was that
at execution time DB2 was trying to convert the SP from the old, external,
format to the new, internal, format. The user running the SP did not have
authority to delete the old DLLs from the directory you noted above.

We eventually went through an exercise of deleting and recreating all the
SPs (we didn't have that many) to get round the problem, rather than giving
world update access to the directory in question.

HTH

Phil
Nov 12 '05 #3
Philip Nelson wrote:
Serge Rielau wrote:

md********@gmail.com wrote:
Hi all
I am trying to call a DB/2 v8.2 stored procedure from Perl DBI and am
getting an error message telling me, that the routine could not be
found in the library path.

[IBM][CLI Driver][DB2/NT] SQL0444N Routine "*_deposit" (specific name
"SQL050519190148810") is implemented with code in library or path
"\finban.cac_deposit", function "finban.cac_deposit" which cannot be
accessed. Reason code: "4". SQLSTATE=42724

Since 8.2 stores stored procedures internaly as byte code, the libaries
can indeed not be found in sqllib/FUNCTION/ROUTINE.

I tried to grant EXECUTE rights to all users on the packages found in
syscat.packages but this changed nothing.

Im am working with v8.2. on Windows, ActivePerl 5.61(638) and DBD-DB2
0.76 and DBI 1.34.
The problem you have is independent of PERL.
Now in V8.2 SQL Procedures which are CREATEd in V8.2 ar eall internal.
But external (java, C, ..) procedures or SQL Procedures created prior to
V8.2 still have DLLs.

Cheers
Serge


To add to what Serge says, we got exactly the same problem with SPs being
called from VB after we migrated from V8.1 to V8.2 : what we found was that
at execution time DB2 was trying to convert the SP from the old, external,
format to the new, internal, format. The user running the SP did not have
authority to delete the old DLLs from the directory you noted above.

Actually DB2 V8.2 for LUW will not convert SQL Procedures on its own.
I'm not sure what you observed, but it wasn't auto-conversion.
I do recommend to drop and recreate the procs in one shot though to
avoid problems many moons later with everyone scratching their head not
remembering that a conversion did take place eventually.
We eventually went through an exercise of deleting and recreating all the
SPs (we didn't have that many) to get round the problem, rather than giving
world update access to the directory in question.

HTH

Phil

--
Serge Rielau
DB2 SQL Compiler Development
IBM Toronto Lab
Nov 12 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: dw | last post by:
Hello all, I'm having a dickens of a time calling a stored procedure on a connection. Every time I do, it generates an error "Arguments are of the wrong type, are out of acceptable range, or are in...
0
by: JN | last post by:
Hello, I'm having problem calling stored procedures from Visual FoxPro database. I got the following exception error: "System.Data.OleDb.OleDbException: Unrecognized command verb" It seems...
6
by: Scott McNair | last post by:
Hi all, I'm having problems calling a stored procedure from within my code. If I execute the SP manually from a Query Analyzer window it runs without a hitch, but it seems it doesn't even fire...
4
by: Jack | last post by:
Hi, I am trying to run an example code from a book. However I am getting the following error message: Number: -2147217900 Description: Syntax error or access violation Source: Microsoft OLE...
14
by: krishna1412 | last post by:
Currently i am working in a project of report generation in MS ACCESS. The tables are in sql server 2000. I have to write stored proc in ms access. Illustration: I am having a stored proc...
4
by: eighthman11 | last post by:
I'm calling a stored procedure on a sql server from an access application. I just need the stored procedure to run I do not need any data returned from the stored procedure to my Access...
2
by: =?Utf-8?B?YW5vb3A=?= | last post by:
Hello, I have a stored procedure named as usp_CheckLogin with two parameters as @usID, @Password also values of these parameters are to be extracted using Request.Form from the fields in...
3
by: yinzara | last post by:
I have the following trigger that calls a DB2 stored procedure: DROP TRIGGER GGWU.TRI_A_MULTI_PROP@ CREATE TRIGGER GGWU.TRI_A_MULTI_PROP AFTER INSERT ON GGWU.MULTIPLIER_PROPERTY REFERENCING ...
1
by: rajpar | last post by:
Environment: Solaris (client + server) db2 version 7.2 latest fixpak (DB2 v7.1.0.111", "s050516" and "U803330") Compiler: gcc Here is my SP code executed on the client: CREATE PROCEDURE...
6
Soniad
by: Soniad | last post by:
Hello, I am excecuting a stored procedure in my ASP page , it has one out parameter (@confirm) . after executing the procedure i want to retreive this out parameter and assign it to variable...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.