不能訪問統一編目視圖

你不能訪問一個視圖,如果你沒有足夠的權限在底層表。

寫的John.Lourdu

去年發表在:2023年5月10日

問題

一個用戶試圖訪問一個視圖在統一目錄當失敗時表“<視圖名稱>”沒有足夠的權限來執行錯誤消息。

錯誤的SQL語句:AnalysisException:表“<視圖名稱>”沒有足夠的權限來執行。

導致

店主認為沒有足夠的源表上的特權。

解決方案

你必須確保的所有者把底層表上有足夠的特權,創建視圖。

  1. 驗證的所有者視圖描述表擴展。運行描述表擴展在視圖和觀察結果老板列。
    % sql描述表擴展<目錄>。<模式>。<視圖名稱>;
  2. 驗證視圖所有者擁有使用目錄和使用模式權限目錄和選擇特權在桌子上。
    % sql顯示授予< view-owner-user-name >的<目錄>。<模式>。<視圖名稱>;
    你也可以驗證使用數據瀏覽權限。

    1. 點擊數據打開數據資源管理器。
    2. 選擇目錄。
    3. 點擊權限
    4. 驗證權限視圖的所有者。

  3. 如果視圖所有者沒有正確的權限,格蘭特使用目錄和使用模式在目錄和選擇在桌子上。
    % sql格蘭特使用目錄,使用模式,選擇在目錄<目錄名稱> < view-owner-user-name >”;
    你還可以使用數據瀏覽權限授予。

    1. 點擊數據打開數據資源管理器。
    2. 選擇目錄。
    3. 點擊權限
    4. 點擊格蘭特
    5. 選擇視圖的所有者用戶和組下拉列表中。
    6. 選擇數據閱讀器特權預設下拉列表中。
    7. 點擊格蘭特


  4. 視圖的主人現在應該可以訪問視圖。
這篇文章有用嗎?