3

When I run the following snippet to connect to datasource to get the data out through queries :

        try {
        String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        Class.forName(driver);
        String Url = "jdbc:sqlserver://localhost:1433;databaseName=movies";
        Connection connection = DriverManager.getConnection(Url,"sa", "xxxxxxx);
        //            Context initContext = new InitialContext();
        //            Context envContext = (Context)initContext.lookup("java:comp/env");
        //            DataSource ds = (DataSource)envContext.lookup("");
        //            Connection connection = ds.getConnection();
        String query_name = "select name from list where name='" + data + "'";

this exception trace is shown :

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at gui.MainGui.startSqlServerDataSearch(MainGui.java:148)
at gui.MainGui$3.run(MainGui.java:129)
at java.lang.Thread.run(Thread.java:619)

Why am I getting this exception ? I have already made a connection to the sql server (by loading the drivers as given here) and can see the database defined in sql server. The following snapshot tells this :

enter image description here

1 Answer 1

9

Having database defined and Class.forName(driver); is not enough.

You need to make sure appropriate database driver jar is in classpath.

Sign up to request clarification or add additional context in comments.

3 Comments

I have kept the jar downloaded from microsoft.com/en-us/download/… in the classpath
Make sure you don't have any other version of jars in classpath.
@Y.E.P change driver string to com.microsoft.sqlserver.jdbc.SQLServerDriver instead of com.microsoft.jdbc.sqlserver.SQLServerDriver

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.