title: How to access the remote database using java
body: <p>Iam trying to access database from system to other system, below is code.</p>
  
  <pre><code>import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import java.sql.Statement;
  
  
  public class testConnection {
  
      /**
       * @param args
       * @throws SQLException 
       */
      public static void main(String[] args) throws SQLException {
          // TODO Auto-generated method stub
          String connectionURL = "jdbc:sqlserver://xxx.xxx.xx.xx:1433;DatabaseName=fingerprintdb;user=sa;password=test"; 
          // Change the connection string according to your db, ip, username and password 
            Connection con = null;
          try { 
  
              // Load the Driver class. 
              Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
              // If you are using any other database then load the right driver here. 
  
              //Create the connection using the static getConnection method 
               con = DriverManager.getConnection (connectionURL); 
  
              //Create a Statement class to execute the SQL statement 
              Statement stmt = con.createStatement(); 
  
              //Execute the SQL statement and get the results in a Resultset 
              ResultSet rs = stmt.executeQuery("select moviename, releasedate from movies"); 
  
              // Iterate through the ResultSet, displaying two values 
              // for each row using the getString method 
  
              while (rs.next()) 
                  System.out.println("Name= " + rs.getString("moviename") + " Date= " + rs.getString("releasedate")); 
          } 
          catch (SQLException e) { 
              e.printStackTrace(); 
          } 
          catch (Exception e) { 
              e.printStackTrace(); 
          } 
          finally { 
              // Close the connection 
              con.close(); 
          } 
  
      }
  
  }
  </code></pre>
  
  <p>Below is exception iam getting.</p>
  
  <pre><code>com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host xxx.xxx.xx.xx, port 1433 has failed. Error: "connect timed out. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".
      at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
      at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1049)
      at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
      at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
      at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at testConnection.main(testConnection.java:26)
  Exception in thread "main" java.lang.NullPointerException
      at testConnection.main(testConnection.java:48)
  </code></pre>
  
  <p>Iam able to connect to the database from the same syste. but now iam trying to connect remote way.</p>
  
  <p>I got the above ip address from typing ipconfig in cmd prompt.
  Am I doing correctly, if not please correct me.</p>
  
  <p>Below is log of pings to host.</p>
  
  <pre><code>Pinging xxx.xxx.xx.xx with 32 bytes of data:
  
  Reply from xxx.xxx.xx.xx: TTL expired in transit.
  Reply from xxx.xxx.xx.xx: TTL expired in transit.
  Reply from xxx.xxx.xx.xx: TTL expired in transit.
  Reply from xxx.xxx.xx.xx: TTL expired in transit.
  
  Ping statistics for xxx.xxx.xx.xx:
      Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  Approximate round trip times in milli-seconds:
      Minimum = 0ms, Maximum = 0ms, Average = 0ms
  </code></pre>