如何在云服务中配置与数据库的连接

时间:2013-05-21 09:57:11

标签: database url jdbc service appfog

我已经在网上浏览了两天,希望找到一种更好的方法来配置我上传到AppFog的应用程序,以便它成功连接到云中的mysql数据库。

我创建了mysql服务,并将其绑定到应用程序。我还使用Linux中的本地控制台(使用af tunnel mydatabase)创建了表并将一些数据放在它们上面

但我的应用似乎找不到数据库。我的应用程序使用JDBC ...我使用了从控制台(屏幕中那些有趣的字符)给我的数据库usernamepassword以及databasename而它没有工作。所以我把自己的凭据,但仍然没有成功......

我尝试使用url指向我在控制台上给出的端口上的应用程序,但仍然......实际上,我在控制台上显示的详细信息中连接到数据库部署后的云...但我的应用程序似乎找不到我的数据库及其表....

我不知道出了什么问题......

请帮助..

MORE:

这是我用来尝试此连接的代码:

    try {
            String connectionURL = "jdbc:mysql://http://someapp.aws.af.cm:10000 /OnlinePassword";   

            Class.forName("com.mysql.jdbc.Driver");

            conn = DriverManager.getConnection(connectionURL, USER, PASS);
            statement = conn.createStatement();
        }

1 个答案:

答案 0 :(得分:3)

使用名为VCAP_SERVICES的 appfog 环境变量自动检测您的MySQL数据库凭据和连接信息。您可以利用此功能显示所有JSON格式的信息,并使用它将您的应用程序连接到MySQL数据库。你可以试试这个。

  • 首先使用context属性创建一个servlet并检索数据库连接,如下所示:

    public class DbInfoServlet extends HttpServlet 
    {
      public void doGet(HttpServletRequest request,HttpServletResponse response) 
          throws ServletException, IOException 
      {
        request.setAttribute("jsonContent", java.lang.System.getenv("VCAP_SERVICES"));
        request.getRequestDispatcher("/index.jsp").view.forward(request, response);
      }
    }
    
  • 然后创建一个index.jsp文件,以显示数据库连接信息,如下所示:

    <body>
      <p>
        <!-- Click here to display DB info -->
        <a href="/DbInfoServlet"></a>
        <!-- Display of your DB connection and credentials info is here. This will show in JSON document format
         -->
        <c:out value="${jsonContent}" />
      </p>
    </body>
    
  • 使用JSON文档内容中的主机名(即IP),端口,名称(即数据库名称),用户名,密码参数来修改JDBC连接代码,如下所示:

    try {
          String connectionURL = "jdbc:mysql://hostname:3306/name";   
          Class.forName("com.mysql.jdbc.Driver");
          conn = DriverManager.getConnection(connectionURL, username, password);
          statement = conn.createStatement();
        }
    
  • 如果上述方法不起作用,只需确保您使用的是最新版本的MySQL-connector-java jar文件。

玩得开心!