Capture du message d'erreur de la base de données<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
Je voudrais savoir s'il existe un moyen de détecter le message d'erreur de la base de données et de le placer dans une variable jmp.
Exemple pour une base de données Oracle, si j'essaie d'insérer une valeur déjà existante sur la clé primaire ID :
/* JSL */
sql = "INSÉRER DANS MA.TABLE (ID, DONNÉES) VALEURS ('A',150)";
Base de données ouverte (dsnDB, sql) ;
/* Affichage du JOURNAL */
[Oracle][ODBC][Ora]ORA-00001 : contrainte unique (MY.TABLE) violée
ORA-06512 : à la ligne 1
J'aimerais avoir dans une variable jsl cette piqûre : "[Oracle][ODBC][Ora]ORA-00001 : contrainte unique (MY.TABLE) violée".
Je n'ai trouvé aucune solution pour le moment.
Merci.
Re : Capture du message d'erreur de la base de donnéesSalut,
Merci pour ces bons conseils. La fonction Log Capture est la fonction que je recherchais.
Re : Capture du message d'erreur de la base de donnéesSalut,
Une façon de procéder consiste à utiliser la fonction Log Capture. Pour tester le code JSL, j'ai simulé deux types d'erreurs différents :
- Une erreur d'échec en n'établissant pas de connexion à la base de données Access avant de sélectionner les colonnes de la table spécifiée
- Une erreur d'échec due au fait qu'un pilote ODBC approprié n'est pas installé
J'ai inclus un exemple de la façon dont vous pouvez accomplir ce que vous voulez faire dans le code JSL suivant et les messages d'erreur qui en résultent :
Noms par défaut ici
( 1 ) ;Erreur d'accès01 = "Erreur d'accès :" || Capture de journal ( Ouvrir la base de données (
"DSN = base de données MS Access; DBQ = C: UsersstkoprDocumentsMovinOn.accdb; DriverId = 25; FIL = MS Access; MaxBufferSize = 2048; PageTimeout = 5; UID = admin;" ,
"SELECT * FROM tblVehicle" ,
"tblVéhicule"
)) ;
Ce qui suit est écrit dans le journal et la chaîne d'erreur est stockée dans la variable AccessError01 pour le test de scénario 1.
"Erreur d'accès :[Microsoft][Pilote ODBC Microsoft Access] Impossible de trouver le fichier « (inconnu) ».
"
Ce qui suit est écrit dans le journal et la chaîne est stockée dans la variable AccessError01 pour le test de scénario 2.
"Erreur d'accès :[iODBC][Driver Manager]Nom de la source de données introuvable et aucun pilote par défaut spécifié. Le pilote n'a pas pu être chargé
"
Oui, vous pouvez... vous connecter à une base de données ODBC