IBM Books

Image Extender、Audio Extender 和 Video Extender 管理和程序设计


查找表项引用的文件

使用 DBxAdminGetReferencedFiles API 或 GET REFERENCED FILES 命令来列示当前数据库中的所有用户表或这些表的一个子集引用的外部媒体文件。使用 DBxGetReferencedFiles API 或 GET REFERENCED FILES 命令来列示特定表中引用的外部媒体文件。

使用 API: 下例中的样本代码返回它找到的文件数和文件的列表。完整的样本程序在 SAMPLES 子目录中的 API.C 文件中。

图 15. 获取引用文件的列表的样本代码

/*---- 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


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]