2014-04-28 41 views
0

訪問關係型數據,我下面這個文檔 -嵌套servlet異常,而使用JDBC與Spring

http://spring.io/guides/gs/relational-data-access/#scratch

設置數據源,並創建一個JdbcTemplate後 -

SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); 
     dataSource.setDriverClass(com.mysql.jdbc.Driver.class); 
     dataSource.setUsername("username"); 
     dataSource.setUrl("jdbc:mysql:/uel.to.connect.the.db"); 
     dataSource.setPassword("password"); 
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); 

當我試圖做出選擇查詢 -

List<GameBean> results = jdbcTemplate.query("select * from Games", 
       new RowMapper<GameBean>() { 
        @Override 
        public GameBean mapRow(ResultSet rs, int rowNum) throws SQLException { 
         GameBean gb = new GameBean(); 
         gb.setGameId(rs.getInt("GameId")); 
         gb.setGameName(rs.getString("GameName")); 
         return gb; 
        } 
       }); 

我收到一個錯誤提到「無法獲得JDBC連接;」

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Access denied for user 'social_devuser'@'10.55.200.1' (using password: YES) 
    org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) 
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382) 
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456) 
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464) 
    com.service.games.dao.GamesDao.getAllGames(GamesDao.java:26) 
    com.service.games.SpringServiceController.getGreeting(SpringServiceController.java:24) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    java.lang.reflect.Method.invoke(Method.java:606) 
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214) 
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

任何人都可以建議我可能會在這裏失蹤?

+0

你的數據源的url是否正確? – Prasad

+0

數據源正在創建...該URL是正確的。 – webExplorer

+0

我沒有看到它在你的日誌中的參考。 – Prasad

回答

1

你必須正確地訪問配置你的MySQL架構:

java.sql.SQLException: Access denied for user 'social_devuser'@'10.55.200.1' (using password: YES) 

也許你指定在你的配置錯誤的用戶名/密碼,或者你從10.55.200.1 IP地址的授權訪問用戶

+0

這是我做的第一件事,我驗證了信用,並確保我能夠訪問與提到的用戶數據庫。 – webExplorer

+0

mmm。錯誤很明顯:)你有沒有試過從10.55.200.1訪問你的模式?如果mysql和你的容器在同一個主機上,請嘗試授予對本地主機的訪問權限,或嘗試使用%限制性較小。 – gipinani

+0

也許你沒有在MySQL shell中刷新權限..試試FLUSH PRIVILEGES – gipinani