cancel
Showing results for 
Search instead for 
Did you mean: 

SQL error when calling a StoredProc

Former Member
0 Kudos

Hi all,

the following occured in a receiver JDBC channel.

com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -444, SQLSTATE: 42724, SQLERRMC: INS_DATA;

Can anyone please let me know what might be the reason?

Thanks,

Manohar

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

The SQLCODE: -444

SQLSTATE: 42724 : indicates Unable to access an external program used for a user-defined function or a procedure.

Are your trying to call any stored procedure in the Program.???

refer below link where you could check all the Errore codes for DB2

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0sttms...

Find the whole description as below

SQL0444N Routine routine-name (specific name specific-name) is implemented with code in library or path library-or-path, function function-code-id which cannot be accessed. Reason code: code.

sqlcode: -444

sqlstate: 42724

Explanation:

The DBMS is trying to access the body of the code that implements routine routine-name (specific name specific-name), and cannot access it for the reason given by reason code code (the codes are listed below). The file implementing the routine is identified by library-or-path, and the function by function-code-id.

(Note that these last two tokens may be truncated, due to limitations in the total token length which can be provided. If this happens, then the definition of the routine in the catalogs may need to be accessed in order to determine the full library or path and function code id that were defined for the routine.)

User Response:

Given for each reason code:

1

Path name library-or-path is longer than the maximum (255 bytes). Either the routine definition needs to be changed to specify a shorter path, or the DB2 instance path name is too long. Look at the catalog definition to determine which is the case. It may be necessary to move the function body to a directory with a shorter path name.

2

The DB2 instance path name could not be retrieved from DB2. See your system administrator.

3

The path library-or-path could not be found. See the routine creator or your database administrator. The routine definition or the location of the routine itself will need to be corrected.

4

The file in library-or-path could not be found. See the routine creator or your database administrator. The routine definition or the location of the routine may need to be corrected, or the routine may need to be re-linked. In a partitioned database, the file must be accessible as "<library-or-path>" on all partitions of the database.

In addition to the above, this reason code can result if the routine requires a shared library or DLL, and the shared library cannot be located (using the concatenation of directories specified in the LIBPATH environment variable in UNIX-based systems, the PATH environment variable in INTEL systems). There can be multiple levels of this indirection involved, leading to this reason code. For example, routine body X can be found, and it needs shared library Y which can also be found. But Y needs Z, and Z cannot be located, and this will result in SQL0444N reason code 4.

5

There was insufficient memory to load the library containing the function or one or more symbols could not be resolved. Contact the routine creator or your database administrator to make sure that the library was correctly linked. All required libraries to resolve referenced symbols such as external functions must be available. If a lack of memory is determined then the system configuration may need to be changed to make more memory available to DB2.

6

The function function-code-id could not be found in the module named. See the routine creator or your database administrator. The routine definition or the function itself will need to be corrected.

7

The symbol given as the function name (function-code-id) is not the name of a valid function in the named library. See the routine creator or your database administrator. The routine definition or the function itself will need to be corrected.

8

The "load" system function has failed, for other than the reasons given above. It may be that the module was not linked at all, or not linked correctly.

9

There was insufficient memory to resolve the function name function-code-id in the library identified in library-or-path. Contact the routine creator or your database administrator to make sure the library containing the function was correctly linked. The system configuration may need to be changed to make more memory available to DB2 Server.

10

The loadquery system call has failed. This can only happen on unix-based systems, and is a symptom that the database manager itself has not been installed correctly. Contact your system administrator.

11

The agent process is searching for a particular database manager function that should be in the libdb2.a library, and it cannot find it. This can only happen on unix-based systems, and is a symptom that the database manager is not correctly installed. Contact your system administrator.

15

Access has been denied. This can happen in Windows NT environments if the EXTERNAL NAME specification in the routine definition statement does not specify a full path, or the function does not exist in the <db2 installation path>\function directory, necessitating a search using the PATH environment variable. For example, If the PATH contains a LAN drive prior to the directory containing your function and the DB2 instance is running under the SYSTEM account, this reason code can result. Verify that the EXTERNAL NAME specification in the routine definition statement contains the full path, or the function exists in the <db2 installation path>\function directory. If either of the above is correct and the error occurs due to DB2 instance running under an account which cannot access a LAN drive prior to the directory containing your function in the PATH environment variable, you need to reconfigure the DB2 service to run under a user account that has access to all the network paths that are in the PATH environment variable. When assigning a user account to the DB2 service, make sure that the account is granted all the required advanced user rights as documented in the Quick Beginnings book.

other:

An unidentified system failure has occurred. Note the code, and see your system administrator.

If you are unable to diagnose the error using the information in this message, it may be necessary to contact your system administrator for assistance.

Federated system users: if this user defined function is a function template (and thus no code is required to reside on the federated server), you may want to consider modifying the SQL statement or statistics to enable this function to be evaluated on the remote data source.

Thanks

Swarup

Former Member
0 Kudos

Hi,

Have a look at the following Site:

[http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rtrb_dsaccess3.html]

This gives you a detail about error and Error Codes in DB2.

I belive you are having an error while Inserting the DB.

Rewards points if useful

Regards,

Abhishek