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