Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in SQL by (6.1k points)
edited by

I am getting this exception when I am attempting to execute this program. It is one of the examples by Microsoft. In Netbeans, I did add the sqljdbc4.jar to the classpath for both the compile and Run, through the project properties. I have also tested that the class could be found by using an import statement below - no error during compile, so it must be finding the jar.

Is it be related to a dll or some sql dll that the sqldbc4.jar references?

This is the exact exception, and below is the exact code, except for the password.

Exception:

run:

java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=HealthCareDatabase

Error Trace in getConnection() : No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=HealthCareDatabase

Error: No active Connection

    at java.sql.DriverManager.getConnection(DriverManager.java:602)

    at java.sql.DriverManager.getConnection(DriverManager.java:185)

    at javaapplication1.Connect.getConnection(Connect.java:35)

    at javaapplication1.Connect.displayDbProperties(Connect.java:50)

    at javaapplication1.JavaApplication1.main(JavaApplication1.java:23)

BUILD SUCCESSFUL (total time: 1 second)

Code: 

package javaapplication1;

import com.microsoft.sqlserver.jdbc.SQLServerDriver;

import java.*;

public class Connect {

    private java.sql.Connection con = null;

    private final String url = "jdbc:microsoft:sqlserver://";

    private final String serverName = "localhost";

    private final String portNumber = "1433";

    private final String databaseName = "HealthCareDatabase";

    private final String userName = "larry";

    private final String password = "xxxxxxx";

    // Constructor

    public Connect() {

    }

    private String getConnectionUrl() {

        return url + serverName + ":" + portNumber + ";databaseName=" + databaseName ;

    }

    private java.sql.Connection getConnection() {

        try {

            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

            con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);

            if (con != null) {

                System.out.println("Connection Successful!");

            }

        } catch (Exception e) {

            e.printStackTrace();

            System.out.println("Error Trace in getConnection() : " + e.getMessage());

        }

        return con;

    }

    public void displayDbProperties() {

        java.sql.DatabaseMetaData dm = null;

        java.sql.ResultSet rs = null;

        try {

            con = this.getConnection();

            if (con != null) {

                dm = con.getMetaData();

                System.out.println("Driver Information");

                System.out.println("\tDriver Name: " + dm.getDriverName());

                System.out.println("\tDriver Version: " + dm.getDriverVersion());

                System.out.println("\nDatabase Information ");

                System.out.println("\tDatabase Name: " + dm.getDatabaseProductName());

                System.out.println("\tDatabase Version: " + dm.getDatabaseProductVersion());

                System.out.println("Avalilable Catalogs ");

                rs = dm.getCatalogs();

                while (rs.next()) {

                    System.out.println("\tcatalog: " + rs.getString(1));

                }

                rs.close();

                rs = null;

                closeConnection();

            } else {

                System.out.println("Error: No active Connection");

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        dm = null;

    }

    private void closeConnection() {

        try {

            if (con != null) {

                con.close();

            }

            con = null;

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    public static void main(String[] args) throws Exception {

        Connect myDbTest = new Connect();

        myDbTest.displayDbProperties();

    }

}

1 Answer

0 votes
by (12.7k points)

Your URL should be like jdbc:sqlserver://server:port;DatabaseName=dbname

and the Class name should be like com.microsoft.sqlserver.jdbc.SQLServerDriver.

Use the Microsoft SQL Server JDBC Driver 2.0, check here.

Interested in SQL ? Check out this SQL Certification course by Intellipaat.

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...