2013-05-30 66 views
0

我已經分析了應用程序實現的Java SE(Spring)和Oracle 11g的代碼。在XXXDaoImpl類有許多查詢軟件寫爲Oracle 11g模式選擇

select * from PREFIX.TableName 

我已經通過Oracle SQL Developer中建立在Oracle 11g中的模式和成功導入所有表。 但是,當應用程序試圖調用任何程序調用它MYPREFIX extention可以說

select * from MYPREFIX.TableName 

我想知道如何在SQL開發者爲了改變MYPREFIX名稱獲取代碼和新創建的模式similat對方正確運行應用程序。

我目前有以下錯誤。

ERROR 30 May 2013 18:06:02,036 [ChangeDeleteMHandler] [ChangeDeleteMHandler]: Error during change/delete msisdn procedure call 
org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call TABLENAME.changeM()}]; SQL state [72000]; error code [4063]; ORA-04063: package body "PREFIX.TABLENAME" has errors 
ORA-06508: PL/SQL: could not find program unit being called: "PREFIX.TABLENAME" 
ORA-06512: at line 1 
; nested exception is java.sql.SQLException: ORA-04063: package body "PREFIX.TABLENAME" has errors 
ORA-06508: PL/SQL: could not find program unit being called: "PREFIX.TABLENAME" 
ORA-06512: at line 1 

    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) 
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:969) 
    at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1003) 
    at org.springframework.jdbc.object.StoredProcedure.execute(StoredProcedure.java:125) 

回答

0

機會是PREFIXMYPREFIX爲Oracle模式用戶,所以在您的情況您的應用程序的PREFIX模式下訪問表,並且您已經創建了一個新的MYPREFIX架構。如果是這種情況,您可以通過運行PREFIX

GRANT SELECT, INSERT, UPDATE, DELETE ON YOUR_TABLE 
TO MYPREFIX;