2010-11-25 4 views
0

Édité:Comment rechercher un enregistrement manquant dans un fichier?

Un fichier contient 5000 enregistrements qui sont analysés et chargés dans la table de base de données Oracle. Après la fin du processus, les résultats seront enregistrés dans un fichier qui montrera le succès et le nombre de défaillances. Là, il a seulement 4999 dossiers sont un succès. 1 enregistrement n'est pas inséré (peut-être n'est-il pas formaté correctement).

J'ai besoin de trouver l'enregistrement du fichier qui n'a pas été chargé dans la base de données. ce n'est pas facile de vérifier l'enregistrement un par un. Y a-t-il un moyen simple de le faire?

grâce

+0

Je pense que vous aurez besoin de fournir plus de détails. * Qu'est-ce que * charge ces enregistrements? SQL * Loader? –

+0

suis désolé, c'était une erreur dans ma question. S'il vous plaît jeter un coup d'oeil maintenant, mis à jour! –

+0

pourrait-il être que vous faites votre boucle d'un numéro d'entrée 1 au lieu de 0 et vous manquez la première entrée? ou que la première ligne est une ligne de titre et que vous avez seulement 4999 entrées? ce genre d'erreurs arrive souvent. –

Répondre

0

Je suis d'accord avec @Adam Paynter en vous donnent très peu de détails sur la façon et ce qui est l'insertion des données. Cela dit, si vous pouvez supprimer et réinsérer ces 4000 enregistrements, je vous suggérerais de changer votre procédure de chargement afin qu'en cas d'échec d'une insertion, les valeurs que SQLCODE et SQLERRM renvoient plus les données d'enregistrement soient entrées dans le journal.

Vous devriez alors voir facilement ce qui a causé l'erreur et quel enregistrement a échoué.

EDIT: comme vous ne pouvez pas toucher la source d'importation ni les données de la table, vous pouvez essayer de créer votre propre procédure "import" pour vérifier les données de la table, . Il devrait être quelque chose dans le style de:

  1. Pour chaque enregistrement dans le fichier obtenir tous les champs nécessaires pour identifier de manière univoque un enregistrement.
  2. Vérifiez par rapport à la table si un enregistrement avec cette donnée exacte existe. Si la réponse est oui, passez à l'étape 1.
  3. Si la réponse est non, vous avez l'enregistrement manquant.

HTH

Questions connexes