SQL - SQLCODE's - Códigos negativos -805


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

SQLCode -805

   
 
  • Causa
    • DBRM OR PACKAGE NAME location-name.collection-id.dbrm-name.consistency-token NOT FOUND IN PLAN plan-name.
      REASON reason-code

      An application program attempted to use a DBRM or package that was not found.
      location-name.collection-id.dbrm-name.consistency-token
      The package that was not found.
      The collection-id is blank if the CURRENT PACKAGESET special register was blank for the local program execution.
      plan-name
      The name of the plan.
      reason-code
      A numeric value that indicates the reason for the failure.
      01
      • The DBRM name was not found in the member list of the plan and there is no package list for the plan.

        Problem determination: Query 1

        Corrective action: Add the DBRM that is identified by dbrm-name to the MEMBER list of the BIND subcommand and bind the application plan that is identified by plan-name.

      • The package name was not found because there is no package list for the plan.

        Problem determination: Query 2

        Corrective action: Add the PKLIST option with the appropriate package list entry to the REBIND subcommand and rebind the application plan that is identified by plan-name.

      02
      The DBRM name dbrm-name did not match an entry in the member list or the package list.
      Any of the following conditions could be the problem:
      BIND conditions
      • The collection-id in the package list was not correct when the application plan that is identified by plan-name was bound.

        Problem determination: Query 2

        Corrective action: Correct the collection ID of the entry in the PKLIST option and use the REBIND subcommand to rebind the application plan that is identified by plan-name.

      • The location-name in the package list was not correct when the application plan that is identified by plan-name was bound.

        Problem determination: Query 2

        Corrective action: Correct the location name of the entry in the PKLIST option and use the REBIND subcommand to rebind the application plan that is identified by plan-name.

      • The location-name in the CURRENTSERVER option for the BIND subcommand was not correct when the application plan that is identified by plan-name was bound.

        Problem determination: Query 3

        Corrective action: Correct the location name in the CURRENTSERVER option and use the REBIND subcommand to rebind the application plan that is identified by plan-name.

      Application conditions
      • The CURRENT PACKAGESET special register was not set correctly by the application.

        When using SET CURRENT PACKAGESET = :HV, be sure to use the correct encoding scheme, which must match the :HV in subsystem parameter options.
        This statement does not require package or DBRM bound into the plan, so it uses the encoding scheme defined for system.
        The same condition applies to SET CURRENT PACKAGE PATH.

        Corrective action: Set the CURRENT PACKAGESET special register correctly.

      • The application was not connected to the proper location.

        Corrective action: Connect to the correct location.

      03
      The DBRM name that is identified by dbrm-name matched one or more entries in the package list and the search of those entries did not find the package.
      Any of the conditions that are listed for reason-code value 02 are possible causes for reason-code value 03, as are the following additional conditions:
      • The DBRM of the version of the application program being executed was not bound.
        (A package with the same consistency token as that of the application program was not found.)

        Problem determination: Query 4

        Corrective action: Bind the DBRM of the version of the application program to be executed into the collection that is identified by collection-id.

      • The incorrect version of the application program is being executed.

        Corrective action: Execute the correct version of the application program.
        The consistency token of the application program is the same as the package that was bound.

      04

      The package does not exist at the remote site, which is identified by the location-name value.

      Problem determination: Query 4

      blank
      The reason-code value is blank if the length of location-name is 16, the length of collection-id is 18, and the length of dbrm-name is 8 due to the length of SQLERRMT.

      In a native SQL procedure, if the affected SQL statement follows a SET CURRENT PACKAGESET, SET CURRENT PACKAGE PATH, or CONNECT statement, or if it refers to an object on a remote server, additional packages must be bound using BIND COPY.
      Whenever the native SQL procedure is changed such that a regeneration is needed, the additional package also needs to be bound with the copy option.

  • Ação do sistema
    • The statement cannot be processed.
  • Resposta ao Desenvolvedor
    • Use the information that is provided for the reason-code to resolve the problem.
  • Determinação de problemas
    • Query 1: Display the DBRMs in the member list for the plan
                             SELECT PLCREATOR, PLNAME, NAME, VERSION
                             FROM   SYSIBM.SYSDBRM
                             WHERE  PLNAME = 'plan-name';

      If no rows are returned, then the plan was bound without a member list.

      Query 2: Display the entries in the package list for the plan
                             SELECT LOCATION, COLLID, NAME
                             FROM   SYSIBM.SYSPACKLIST
                             WHERE  PLANNAME = 'plan-name';

      If no rows are returned, then the plan was bound without a package list.

      Query 3: Display the CURRENTSERVER value specified on the BIND subcommand for the plan.
                             SELECT NAME, CURRENTSERVER
                             FROM   SYSIBM.SYSPLAN
                             WHERE  NAME = 'plan-name';
      Query 4: Determine if there is a matching package in SYSPACKAGE

      If the package is remote, put the location name in the FROM clause.

      If the collection-id value in the message is blank, use this version of the query:

                             SELECT COLLID, NAME, HEX(CONTOKEN), VERSION
                             FROM   location-name.SYSIBM.SYSPACKAGE
                             WHERE  NAME = 'dbrm-name'
                             AND    HEX(CONTOKEN) = 'consistency-token';

      If the collection-id value in the message is not blank, use this version of the query:

                             SELECT COLLID, NAME, HEX(CONTOKEN), VERSION
                             FROM   location-name.SYSIBM.SYSPACKAGE
                             WHERE  NAME = 'dbrm-name'
                             AND    HEX(CONTOKEN) = 'consistency-token'
                             AND    COLLID = 'collection-id';

      If no rows are returned, the correct version of the package was not bound.

      SQLSTATE: 51002
© Copyright IBM Corp.