Partager via


Résolution des problèmes de SQL statique pour DB2

Cette rubrique décrit les erreurs courantes et les erreurs de codage qui peuvent se produire lorsque vous utilisez la fonctionnalité de packages SQL statique pour DB2 dans Microsoft ADO.NET Provider for DB2 (Fournisseur de données).

Erreurs courantes

Le tableau suivant décrit les erreurs de serveur DB2 qui peuvent se produire avec les actions que vous devez effectuer pour les corriger.

SQLCODE Action
SQLCODE -104 (instruction non valide) - Valider et faire correspondre les données au schéma de base de données.

- Vérifiez que les éléments de commande correspondent au schéma du package.
SQLCODE -204 (objet introuvable) Vérifiez que les noms d'objet sont correctement qualifiés (quatre parties ou alias).
SQLCODE -440 (paramètres incorrects) Vérifiez que les éléments de commande correspondent au schéma du package.
SQLCODE -501 (curseur non ouvert) Vérifiez que la commande inclut CALL STATIC.
SQLCODE -551 (privilèges insuffisants) Vérifiez que les privilèges des packages CREATE, BIND et EXECUTE sont définis.
SQLCODE -601 (nom d’objet non unique) Vérifiez l’unicité de la convention d’affectation de noms.

Erreurs courantes de codage

Le tableau suivant décrit les erreurs de codage courantes par zone de fonctionnalité.

Domaine Descriptif
Document XML - Chaque paramètre d’entrée nécessite un élément de paramètre. Chaque colonne de sortie nécessite un élément de colonne.

- Les noms des curseurs doivent être uniques dans un package.

- Les éléments ne sont pas fermés ou ne sont pas concordants.
DB2 pour le niveau d’isolation IBM i Dans HIS 2010, le niveau d’isolation pris en charge est No Commit (NC), qui doit être spécifié dans le document XML en tant que « IsolationLevel= » NoCommit.
Chevauchement de procédures stockées et des alias - La création du package échoue lorsque le nom du package, le numéro de section ou l’alias de package n’est pas unique.

- Si la création du package réussit, mais que le nom de l’alias est identique à un nom de procédure stockée, une erreur d’exécution peut se produire (par exemple, SQLCODE -440 pour les paramètres non valides). Sinon, le serveur DB2 peut retourner un jeu de résultats inattendu.
Aucun nom d’alias - Si le fichier de métadonnées ne contient pas de nom d’alias, le client Microsoft exécute l’instruction en tant que procédure stockée.

- Si une procédure stockée portant le même nom existe, la procédure stockée est exécutée et le programme peut rencontrer des résultats inattendus.

- S’il n’existe aucune procédure stockée du même nom, le serveur de base de données renvoie une erreur indiquant que le nom de l’objet n’est pas défini (SQLCODE -204).