Image、Audio 及 Video Extenders 管理與程式設計


尋找用來參照檔案的表格項目

您可檢查使用者表格中有哪些項目參照外部媒體檔。 使用 DBxAdminIsFileReferenced API, 來檢查現行資料庫的所有使用者表格或使用者表格子集中,有哪些登錄參照外部媒體檔。 使用 DBxIsFileReferenced API,來檢查特定使用者表格有哪些 項目參照外部媒體檔。

使用 API:中的範例程式碼下列範例 中的範例程式碼會傳回檔案被參照的次數及被參照的位置。該範例包括一些錯誤檢查碼。完整範例程式位於 SAMPLES 次目錄中的 API.C 檔。

圖 14. 檢查檔案是否由使用者表格來參照的範例程式碼

/*---- Query the database using DBiAdminIsFileReferenced API. ------*/
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++)
             {
                 /* filename is NULL for any IsFileReferenced APIs */
 
   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);
}
 


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]