取得した接続オブジェクトを作成しようとしているときに、jdbc と cloudsql に取り組んでいます
ユーザー ''@'localhost' のデータベース ''test-qa' へのアクセスが拒否されました。この例外..以下のコードを確認してください。
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Logger;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.cloudcodes.ErrorHandler;
import com.google.appengine.api.utils.SystemProperty;
public class GuestbookServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
final Logger logger=Logger.getLogger(this.getClass().getName());
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String url = null;
try {
System.out.println(SystemProperty.environment.value()+".."+ SystemProperty.Environment.Value.Production);
logger.warning(SystemProperty.environment.value()+".."+ SystemProperty.Environment.Value.Production);
if (SystemProperty.environment.value() ==
SystemProperty.Environment.Value.Production) {
// Load the class that provides the new "jdbc:google:mysql://" prefix.
Class.forName("com.mysql.jdbc.GoogleDriver");
logger.warning("class loaded sucessfullyl....");
url = "jdbc:google:mysql://myinstanceName/mydatabasename(test-qa)";
} else {
// Local MySQL instance to use during development.
/*Class.forName("com.mysql.jdbc.Driver");
logger.warning("2nd class loaded sucessfullyl....");
url = "jdbc:mysql://localhost/guestbook";*/
}
} catch (Exception e) {
ErrorHandler.errorHandler(this.getClass().getSimpleName(),e);
e.printStackTrace();
System.out.println(e.getLocalizedMessage());
return;
}
PrintWriter out = resp.getWriter();
try {
logger.warning("the url is..."+url);
Connection conn = DriverManager.getConnection(url);
try {
String statement = "INSERT INTO Emp (empNo, empName) VALUES( ? , ? )";
PreparedStatement stmt = conn.prepareStatement(statement);
stmt.setString(1, "1");
stmt.setString(2, "bhanuprasad");
int success = 2;
success = stmt.executeUpdate();
if (success == 1) {
out.println(
"<html><head></head><body>Success! Redirecting in 3 seconds...</body></html>");
} else if (success == 0) {
out.println(
"<html><head></head><body>Failure! Please try again! " +
"Redirecting in 3 seconds...</body></html>");
}
} finally {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
ErrorHandler.errorHandler(this.getClass().getSimpleName(),e);
}
resp.setHeader("Refresh", "3; url=/guestbook.jsp");
}
}
同じインスタンス名とデータベース名で、Spring アプリケーションと Hibernet アプリケーションを使用していますが、正常に動作していますが、次のようになります。データベースへのユーザー ''@'localhost' のアクセスが拒否されました。adminapiconsoleからこのデータベースをチェックすると、これらのテーブルが見つかります。これを解決できますか?誰か助けてください