Vous pouvez vérifier les entrées de table utilisateur faisant référence à un fichier de supports externes. Utilisez l'API DBxAdminIsFileReferenced API pour vérifier quelles entrées des tables ou de certaines tables de la base de données en cours font référence à un fichier de supports externes. Utilisez l'API DBxIsFileReferenced pour vérifier quelles entrées d'une table utilisateur particulière font référence à un fichier de supports externes.
Utilisation de l'interface API : Le modèle de code dans l'exemple qui suit indique le nombre de fois et l'emplacement où le fichier est référencé. Il inclut le code de vérification des erreurs. Le modèle de programme complet se trouve dans le fichier API.C du sous-répertoire SAMPLES.
/*-- Interrogation de la base de données via l'API DBiAdminIsFileReferenced --*/ step="DBiAdminIsFileReferenced API"; rc = DBiAdminIsFileReferenced((char*) uid, filename, &count, &filelist); if (rc < 0) { printf("%s: %s FAILED!\n", program, step); printMsg(rc); DBiGetError(&sqlcode, errorMsgText); printf("sqlcode=%i, errorMsgText=%s\n", sqlcode, errorMsgText); } else if (rc > 0) { printf("%s: %s, warning detected.\n", program, step); printMsg(rc); DBiGetError(&sqlcode, errorMsgText); printf("sqlcode=%i, errorMsgText=%s\n", sqlcode, errorMsgText); } else { if (count == 0) printf("%s: \"%s\" file is not referenced\n", program, filename); else { printf("%s: \"%s\" file is referenced %d times\n", program, filename); for (i=0; i < count; i++) { /* le nom de fichier est NULL pour les API IsFileReferenced */ printf ("filename = %s\n", filelist[i].filename); printf ("\tqualifier = %s\n", filelist[i].tqualifier); printf ("\ttable = %s\n", filelist[i].tname); printf ("\thandle = %s\n", filelist[i].handle); printf ("\tcolumn = %s\n", filelist[i].column); if (filelist[i].filename) free (filelist[i].filename); } } if (filelist) free (filelist); printf("%s: %s PASSED\n\n", argv[0], step); } |