CODE RETOUR -452

UNABLE TO ACCESS THE FILE REFERENCED BY HOST VARIABLE variable-position. REASON CODE: reason-code

Explication

Une erreur s’est produite pendant que Db2 accédait ou tentait d’accéder au fichier référencé par la variable hôte spécifiée.


variable-position
Indique la position de la variable hôte qui a référencé le fichier, en tant que nième variable hôte, où n est la valeur.

reason-code
Une valeur numérique qui indique la raison de l’erreur :

1

Si la longueur du nom de fichier n’est pas valide, le chemin a un format non valide ou un chemin relatif a été spécifié.

2

Si l’option de fichier n’est pas valide (l’option de fichier doit être 2, 8, 16 ou 32) ou si l’option de fichier spécifiée n’est pas cohérente avec l’opération que Db2 a tenté d’effectuer. Par exemple, l’option de fichier FILE_READ est spécifiée dans une instruction FETCH SQL.

3

Si le fichier est introuvable.

4

Si l’option SQL_FILE_CREATE a été spécifiée pour un fichier portant le même nom qu’un fichier existant.

7

Si un disque plein a été rencontré lors de l’écriture dans le fichier.

9

Si une erreur de support s’est produite lors de l’accès au fichier.

12

Si le fichier HFS que Db2 a tenté d’ouvrir pour une opération de lecture, d’ajout ou de réécriture n’est pas un fichier normal :

  • L’ensemble de données BSAM que Db2 a tenté d’ouvrir pour une opération de lecture, d’ajout ou de réécriture n’est pas un ensemble de données séquentiel physique (PS) ou d’organisation de partition (PO).
  • L’ensemble de données BSAM que Db2 a tenté d’ouvrir pour une opération de lecture, d’ajout ou de réécriture n’a pas le format d’enregistrement VB, V ou U.
  • L’option APPEND a été spécifiée pour un ensemble de données avec une organisation de partition (PO).

13

Si des erreurs se sont produites lorsque Db2 a tenté d’OUVRIR, LIRE, ÉCRIRE ou FERMER un fichier HFS ou un ensemble de données BSAM, il peut y avoir un code d’achèvement système sur la console pour indiquer la raison pour laquelle Db2 n’a pas pu effectuer l’opération demandée.

variable-position est défini sur 0 si la position de la variable hôte ne peut pas être déterminée.


Action du système
L’instruction ne peut pas être traitée.

Réponse du programmeur
Effectuez l’une des actions suivantes en fonction de la valeur du code de raison :

1

Corrigez la longueur du nom de fichier, le nom de fichier et le chemin d’accès au fichier. Si un chemin relatif est utilisé pour le fichier HFS, remplacez-le par un chemin absolu.

2

Corrigez l’option de fichier dans l’application.

3

Assurez-vous que le fichier spécifié existe avant de tenter d’accéder au fichier.

4

Supprimez le fichier s’il n’est plus nécessaire ou spécifiez un nom de fichier qui n’existe pas actuellement.

7

Supprimez les fichiers inutiles pour libérer de l’espace disque ou spécifiez un fichier qui réside sur un autre lecteur ou système de fichiers avec suffisamment d’espace disque. Assurez-vous également qu’aucune limite de taille de fichier utilisateur ou de système d’exploitation n’a été atteinte. Si la page de codes de votre application utilise un schéma de codage multi-octets, il est possible que seule une partie du dernier caractère ait été écrite. Assurez-vous que le fichier ne contient que des caractères entièrement formés.

8

La longueur maximale de la colonne de résultat doit être étendue pour permettre l’expansion qui se produit lorsque la chaîne est convertie.

9

Corrigez toutes les erreurs sur le support où le fichier a été lu.

12

Prenez les mesures appropriées :

  • Corrigez le nom du fichier pour qu’il fasse référence à un fichier normal s’il s’agit d’un fichier HFS.
  • Corrigez le nom du fichier pour qu’il fasse référence à un ensemble de données PS ou PO s’il s’agit d’un ensemble de données BSAM.
  • Corrigez l’opération de fichier pour qu’elle contienne l’action correcte.

13

Corrigez l’erreur en fonction du code d’achèvement du système.

SQLSTATE
428A1