Results 1 to 2 of 2
  1. #1
    Join Date
    May 2003
    Posts
    1

    Question Unanswered: .Net SQL0444N sql routine cannot be accessed

    Hi,
    I'm calling a procedure from .Net and I get the following error
    System.Data.Odbc.OdbcException Error [42724][IBM][CLI Driver][DB2/NT] SQL0444N Routine "*OLIST_D" [sepcific name "Portfoliolist_D"] is implemented with code in library or path qlproc\calib01\db2admin\P0533754", function "pgsjmp" which cannot be accessed reason code 4 SQLState=42724.

    This is a really strange error. I have 2 databases one live and one staging both running on the same machine.

    Calib01 = Staging and Calib02=Live

    The procedures work before I rebuild the database in both instances of the application. When I rebuild it fails on the live but the error message I get indicates that the code is on the staging database.

    a. I don't know why this is failing in the first place
    b. Does db2 look through it's catalogue and for any procedures with a specific name on a machine, or why do I get an error message with another database name in my error.

    Any help greatly appreciated.
    Slán
    Gar

  2. #2
    Join Date
    Mar 2004
    Location
    Toronto, ON, Canada
    Posts
    513
    Quote Originally Posted by gar34
    Hi,
    I'm calling a procedure from .Net and I get the following error
    System.Data.Odbc.OdbcException Error [42724][IBM][CLI Driver][DB2/NT] SQL0444N Routine "*OLIST_D" [sepcific name "Portfoliolist_D"] is implemented with code in library or path qlproc\calib01\db2admin\P0533754", function "pgsjmp" which cannot be accessed reason code 4 SQLState=42724.

    This is a really strange error. I have 2 databases one live and one staging both running on the same machine.

    Calib01 = Staging and Calib02=Live

    The procedures work before I rebuild the database in both instances of the application. When I rebuild it fails on the live but the error message I get indicates that the code is on the staging database.

    a. I don't know why this is failing in the first place
    b. Does db2 look through it's catalogue and for any procedures with a specific name on a machine, or why do I get an error message with another database name in my error.

    Any help greatly appreciated.
    Slán
    Gar
    The PATH would have been provided with the CREATE PROCEDURE command, the NAME option, that's where db2 is getting the path from.

    Try:
    select IMPLEMENTATION from syscat.procedures where SPECIFICNAME = 'Portfoliolist_D'

    You should be able to use "ALTER PROCEDURE <procname> EXTERNAL NAME '<newname>'" to fix it, although I'm not clear on exactly what you've done to get into this situation!
    --
    Jonathan Petruk
    DB2 Database Consultant

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •