場景:我在將本地編譯過的系統重新編譯,使用遠程數據庫,遠程數據由於沒有權限,只能用指定的用戶名和密碼,訪問指定的數據庫,所以需要將連接串等信息修改後重新編譯。(沒有寫成活的,這個應該改改)
更換數據庫後就出現了問題:
root cause
org.hibernate.exception.SQLGrammarException: could not execute query
************
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user'databasename'@'127.0.0.1' for table
原因與解決:
因爲Hibernate Tools(或者Eclipse或MyEclipse本身的Database Explorer)生成*.hbn.xml工具中包含有catalog="databasename"(*表示數據庫名稱)這樣的屬性,將該屬性刪除就可以了。如下圖所示(所有的全部刪除)