Pourquoi suis-je “de la conversion de Données ou de données erreur de cartographie. SQLCODE=-802” sur un simple DB2 instruction select?

Je suis l'accès DB2 d'informations sur IBM i (AS400) avec PHP.

Avec ce code:

$query = "SELECT * FROM QS36F.MYTABLE WHERE MYFIELD=120006";
$result = db2_prepare($conn, $query);
db2_execute($result);

$i=0;
while($row = db2_fetch_assoc($result) or die(db2_stmt_errormsg())){
    $i++;
    print "Row " . $i . " successful<br />";
}

J'obtiens:

SÉLECTIONNEZ * À PARTIR DE QS36F.MYTABLE WHERE MYFIELD=120006

La ligne 1 de succès
La ligne 2 de succès
Ligne 3
La ligne 4 de succès
Conversion de données ou de données erreur de cartographie. SQLCODE=-802

Il devrait y avoir plus de 4 résultats.
Pourquoi cette erreur se produit?

Plus de détails:

  • Ce même message d'erreur semble se produire sur une valeur que je recherche dans MYFIELD bien qu'il peut être après un nombre différent de bons résultats
  • MYFIELD est NUMÉRIQUE(7,0)
  • Je pouvez rechercher d'autres champs de la table(y compris numériques) et il fonctionne très bien.

OriginalL'auteur Mike | 2011-02-15