Piraba
Piraba

Reputation: 7004

Java SQl Server connection error

I have written sql server connection part.When I run this code, i got this error.

    Error Trace in getConnection() : com.microsoft.jdbc.sqlserver.SQLServerDriver
Error: No active Connection
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.sample.DB.getConnection(DB.java:30)
    at com.sample.DB.displayDbProperties(DB.java:49)
    at com.sample.DB.main(DB.java:85)

I have installed sql sever 2008 R2. I serached google I couldn't find the solution....

This is my code

    public class DB {
    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= "XONTHOMass_User";
    private final String userName = "sa";
    private final String password = "xont@123";
    // Informs the driver to use server a side-cursor, 
    // which permits more than one active statement 
    // on a connection.
    private final String selectMethod = "cursor"; 



    private String getConnectionUrl(){
         return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
    }

    private java.sql.Connection getConnection(){
         try{
             System.out.println("========1========");
             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
             System.out.println("==== 2=====");
             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;
     }

    /*
         Display the driver properties, database details 
    */ 

    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
      {
         DB myDbTest = new DB();
         myDbTest.displayDbProperties();
      }
}

Please help me..I did this application using the eclipse.I have put jar file also `sqljdbc4.jar'...

Please help me

Upvotes: 0

Views: 5704

Answers (4)

K.T.
K.T.

Reputation: 83

Just do one thing go to http://www.java2s.com/Code/Jar/s/Downloadsqljdbcjar.htm and download the sqljdbc jar and use it in your program.

Upvotes: 0

user2479940
user2479940

Reputation: 1

I think this is the driver that you need to use

com.microsoft.sqlserver.jdbc.SQLServerDriver

not com.microsoft.jdbc.sqlserver.SQLServerDriver

Upvotes: 0

Wolfgang
Wolfgang

Reputation: 3490

You receive the exception:

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

That means your program cannot find the Driver and therefore not even try to connect to the database.

Mircosoft has an article on How to Get Started with Microsoft JDBC:

The Microsoft SQL Server 2000 driver for JDBC .jar files must be listed in your CLASSPATH variable. The CLASSPATH variable is the search string that Java Virtual Machine (JVM) uses to locate the JDBC drivers on your computer..

Upvotes: 1

Pondlife
Pondlife

Reputation: 16260

As a complete guess, you have installed Express Edition (you should always mention the edition, not just the version) but you have not enabled TCP/IP support using the SQL Server Configuration Manager. By default, Express Edition does not have any network protocols enabled, so connecting over TCP/IP will not work unless you enable it first.

Upvotes: 0

Related Questions