2013-05-21 69 views
0

我已经上网两天,寻找一种更好的方式来配置我的应用程序,我将其上传到AppFog,以便它成功连接到云中的mysql数据库。如何在云服务中配置与数据库的连接

我已经创建了mysql服务,并且将它绑定到应用程序。我也创建了表格,并使用本地控制台(使用af tunnel mydatabase)在他们的一些数据在Linux中

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

我试过使用url指向我的应用程序在端口给控制台,但仍......实际上,我把细节在控制台上显示连接数据库后云部署...但我的应用程序似乎没有找到我的数据库和它的表...

我不知道什么是错的...

请帮助..

更多:

这是我曾经尝试这个连接的代码:

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(); 
     } 

回答

3

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

  • 首先创建一个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连接n个代码如下:

    try { 
         String connectionURL = "jdbc:mysql://hostname:3306/name"; 
         Class.forName("com.mysql.jdbc.Driver"); 
         conn = DriverManager.getConnection(connectionURL, username, password); 
         statement = conn.createStatement(); 
        } 
    
  • 如果以上不工作,只是确保你使用的是最新版本的MySQL连接器的Java jar文件。

玩得开心!

+0

woooooow非常感谢....很了不起! *跳舞* –

+0

和平胸罩......我记得你从Liesbeek(IT Rep)那里。 –

+0

Lekhobolo,在你使用Appfog的项目上,因为我和我的Kholofelo的这个男孩,Appfog向我们展示了火焰。过了一阵子,希望你们好久好久。很好的简单解决 –

相关问题