今天,應用程序出現問題,一個頁面的表格展現不出來。
左查右查,發現是這個表格查詢的數據庫視圖不可用導致的。
針對這個視圖做查詢時,報錯如下:
SQL0575N 不能使用視圖或具體查詢表
"DB2ADMIN.VIEW_BRAND_EXPORT_FLAG",因為它已經標記為不可用。 SQLSTATE=51024
問題1:
這是什么原因引起的?以前一直用的挺正常,怎么就突然不可用了呢。
Google了一把,IBM的官方資料有這么一個介紹:加入建立視圖view_a,然后建立角色role_a,分配view_a的查詢權限給role_a,然后把role_a分配給用戶db2admin,之后使用db2admin用戶可以查詢視圖view_a。但是當角色role_a的查詢權限revoke的話,再用db2admin用戶查詢視圖view_a是,就報錯:SQL0575N 不能使用視圖或具體查詢表,因為它已經標記為不可用。 SQLSTATE=51024。詳情見:http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0808chengy/index.html
但是,可以肯定的是我這個問題不是由這個原因引起的。因為我們根本沒有創建角色,我們使用db2admin用戶直接訪問視圖的。
那問題出在哪兒呢?
我也不知道,以后再查吧。
問題2:
這個問題怎么解決呢?
我沒有什么好辦法。
比較菜:drop 該視圖,然后找到建立該視圖的SQL腳本,重新建立一遍,就OK了。
哪位高人對這個問題有了解,請把問題原因和解決辦法分析一下吧!