Help with java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
807598Sep 22 2006 — edited Sep 25 2006Hi guys, I am new in JAVA.
I am doing a little and simple program to connect from Microsoft Visual j# .NET java program to an Access database. I am getting this error:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
at com.ms.vjsharp.lang.VJSClassLoader.loadClass(String name, Boolean resolve)
at com.ms.vjsharp.lang.VJSClassLoader.__getClassFromClassLoader(VJSClassLoader ld, String className)
at com.ms.vjsharp.lang.VJSClassLoader.loadClass(String name)
at java.lang.Class.forName(String className, Assembly callerA)
at java.lang.Class.forName(String className)
at ConnectProject.Connect.getConnection() in F:\Vigo\ConnectProject\ConnectProject\Connect.jsl:line 30
Error Trace in getConnection() : sun.jdbc.odbc.JdbcOdbcDriver
I have tried different forums and read a lot on internet, I set my CLASSPATH in this way:
CLASSPATH=C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;c:\j2sdk1.4.2_12\bin\rt.jar
I checked the files msbase.jar, msutil.jar and mssqlserver.jar exist in the directory. Also, the rt.jar is in c:\j2sdk1.4.2_12\bin\rt.jar.
Please somebody help me, I am being stuck here for 2 weeks.
Here is the code I am using:
package ConnectProject;
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= "pubs";
private final String userName = "user";
private final String password = "password";
// Informs the driver to use server a side-cursor,
// which permits more than one active statement
// on a connection.
private final String selectMethod = "cursor";
// Constructor
public Connect(){}
private String getConnectionUrl()
{
return
url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}
private java.sql.Connection getConnection()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
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
{
Connect myDbTest = new Connect();
myDbTest.displayDbProperties();
}
}