Connecting to SQL Server 2008 from Java

37,973

Solution 1

I thing the connection URL may be wrong. Then try following connection,

 String Connectionurl="jdbc:sqlserver://localhost:1433;DatabaseName=YourDBName;user=UserName;Password=YourPassword"

Solution 2

TCP/IP connections are disabled by default when you install the Express version of SQL Server. You need to run the SQL Server Configuration Manager and turn on TCP/IP. You also need to set the port it's listening on to 1433.

Solution 3

Do you have localhost defined in your hosts file? Try replacing localhost with 127.0.0.1 in the connection url.

...and you have the SQL Server running in the same computer, right?

Share:
37,973
zexceed12300
Author by

zexceed12300

I am a software developer, you can know more about me on my blog https://spsarolkar.github.io/

Updated on December 22, 2020

Comments

  • zexceed12300
    zexceed12300 over 3 years

    I am trying to connect to SQL Server 2008 server from Java

    here is a program

    import java.sql.*;
    
    public class connectURL {
    
        public static void main(String[] args) {
    
            // Create a variable for the connection string.
            String connectionUrl = "jdbc:sqlserver://localhost/SQLEXPRESS/Databases/HelloWorld:1433;";// +
                //"databaseName=HelloWorld;integratedSecurity=true;";
    
            // Declare the JDBC objects.
            Connection con = null;
            Statement stmt = null;
            ResultSet rs = null;
    
                try {
                    // Establish the connection.
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                        con = DriverManager.getConnection(connectionUrl);
    
                        // Create and execute an SQL statement that returns some data.
                        String SQL = "SELECT TOP 10 * FROM Person.Contact";
                        stmt = con.createStatement();
                        rs = stmt.executeQuery(SQL);
    
                        // Iterate through the data in the result set and display it.
                        while (rs.next()) {
                            System.out.println(rs.getString(4) + " " + rs.getString(6));
                        }
                }
    
            // Handle any errors that may have occurred.
            catch (Exception e) {
                e.printStackTrace();
            }
    
            finally {
                if (rs != null) try { rs.close(); } catch(Exception e) {}
                    if (stmt != null) try { stmt.close(); } catch(Exception e) {}
                    if (con != null) try { con.close(); } catch(Exception e) {}
            }
        }
    }
    

    But it shows error as

    com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost/SQLEXPRESS/Databases/HelloWorld, port 1433 has failed. Error: "null. 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 connectURL.main(connectURL.java:43)
    

    I have given followed all the instructions as given in http://teamtutorials.com/database-tutorials/configuring-and-creating-a-database-in-ms-sql-2008

    What can be the problem ?