2014-12-19 137 views
1

可能关注的人,连接到在线SQL数据库

我的一个朋友有一个服务器,他为我创建了一个数据库。

我想用我的Java应用程序, 连接到这个数据库现在我得到这个代码:

/** 
    * Open database connection 
    */ 
    public void openConnection() { 
     try { 
      // Database information 
      String url = "jdbc:mysql://url-to-online-database.com:3306/"; 
      String dbName = "dbName"; 

      // jdbc driver 
      String driver = "com.mysql.jdbc.Driver"; 
      // username of database user 
      String userName = "testUsername"; 
      // Password of database user 
      String password = "testPassword"; 

      // The newInstance() call is a work around for some 
      // broken Java implementations 
      Class.forName(driver).newInstance(); 
      conn = DriverManager.getConnection(url + dbName, userName, password); 

      // Adding multiple exception catches 
     } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e) { 
      JOptionPane.showMessageDialog(null, e); 

     } 
    } 

在这一点上我不知道我做错了,除了这个事实我不不知道从哪里获取用于连接到此数据库的URL。

当试图登录,我的应用程序,我得到以下错误: class not found

nullpointerexception

这是涉及到远程MySQL?我需要在cPanel中“添加访问主机”吗? 也许重复使用我的驱动程序的JAR?

+0

“之外的事实,我不知道该用什么URL连接到这个数据库”这是否意味着你*不*知道URL,并困惑,为什么你不能连接? >< – Kritner

+0

我不知道URL,我不知道从哪里获得它:P – Lobato

+0

大部分设置用于连接的设置将位于朋友的服务器上,而不是您的端。确保防火墙规则允许连接,确保从数据库端允许连接,确保为您设置了用户,获取服务器托管的IP地址/端口号和/或域。可以在朋友身边做很多事情,然后才能连接 – Kritner

回答

0

正如你的问题没有发现的Java mysql的连接,所以请添加MySQL,Java的连接器项目库和运行没有这样的drviver。

Download MySQL Java Connector

+0

使用它会导致从我的应用程序登录时出错:通信链路故障,最后一个成功发送到服务器的数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包 – Lobato

+0

请确保您的mysql服务器正在运行,同时确保您的服务器具有最大连接限制以允许访问数据库。还有一件事是你试图访问全球或本地的MySQL服务器? –

+0

这是我需要连接的网址。我使用什么?它是'主域'网址吗? – Lobato

0

你应该尝试使用Maven项目。如果你使用Maven的,你需要添加一个依赖为MySQL连接器是这样的:

<dependency> 
<groupId>mysql</groupId> 
<artifactId>mysql-connector-java</artifactId> 
<version>5.1.30</version> 
</dependency>  
-1

如果您在其他位置的数据库,你的程序不能因为你试图连接到远程数据库中找不到此URL,你需要创建adHoc网络并共享您的数据库。