使用 DBxAdminGetReferencedFiles API 或 GET REFERENCED FILES 命令来列示当前数据库中的所有用户表或这些表的一个子集引用的外部媒体文件。使用 DBxGetReferencedFiles API 或 GET REFERENCED FILES 命令来列示特定表中引用的外部媒体文件。
使用 API: 下例中的样本代码返回它找到的文件数和文件的列表。完整的样本程序在 SAMPLES 子目录中的 API.C 文件中。
/*---- Query the database using DBiAdminGetReferencedFiles API. ----------*/ step="DBiAdminGetReferencedFilesAPI" rc = DBiAdminGetReferencedFiles((char*) uid, &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: no referenced files\n", program); else { printf("%s: %d referenced files\n", program, count); for (i=0; i < count; i++) { 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); } |
使用 db2ext 命令行:
get referenced files user anitas for db2image