Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem trying to connect to SQL using MS JDBC

0 views
Skip to first unread message

?fooguy?

unread,
Aug 24, 2004, 3:57:17 PM8/24/04
to
This looks like a classpath problem, but I don't think it is:

<code>
package com.microsoft.jdbc.sqlserver;
import com.microsoft.jdbc.sqlserver.*;
import java.awt.*;
import java.sql.*;
import javax.sql.*;
import javax.swing.*;


public class sqlTest //extends JApplet implements ActionListener
{
public static void main (String args []) throws SQLException {
{
try
{

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

// use your hostname and port number here
String url = "jdbc:microsoft:sqlserver://myServerName:1433/PROD";
String login = "foo"; // use your login here
String password = "bar"; // use your password here

//open a connection to the database
Connection connection = DriverManager.getConnection(url, login,
password);

//to get the driver version
DatabaseMetaData conMD = connection.getMetaData();
System.out.println("Driver Name:\t" + conMD.getDriverName());
System.out.println("Driver Version:\t" + conMD.getDriverVersion());
/*
//create a statement
Statement st = connection.createStatement();

//execute a query
ResultSet rs = st.executeQuery("SELECT * FROM
master.dbo.sysprocesses");

// read the data and put it to the console
while (rs.next())
{
for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++)
{
System.out.print(rs.getObject(j) + "\t");
}

System.out.println();
}

//close the objects
st.close();
connection.close();
*/
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
</code>

C:\temp>javac -verbose sqlTest.java
[parsing started sqlTest.java]
[parsing completed 60ms]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/Object.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/String.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/sql/SQLException.class)]
[checking com.microsoft.jdbc.sqlserver.sqlTest]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/Throwable.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/Exception.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/Class.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/sql/Connection.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/sql/DriverManager.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/util/Properties.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/sql/DatabaseMetaData.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/System.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/io/PrintStream.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/io/FilterOutputStream.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/io/OutputStream.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/Error.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/ClassNotFoundException.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/RuntimeException.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/InstantiationException.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/IllegalAccessException.class)]
[loading d:\jdk142\jre\lib\rt.jar(java/lang/StringBuffer.class)]
[wrote sqlTest.class]
[total 501ms]

C:\temp>

C:\temp>echo %CLASSPATH%
d:\jdk142\lib;d:\jdk142\jre\lib;d:\temp;.

C:\temp>java -classpath . sqlTest
Exception in thread "main" java.lang.NoClassDefFoundError: sqlTest
(wrong name: com/microsoft/jdbc/sqlserver/sqlTest)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
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)


Any ideas?

Joe Weinstein

unread,
Aug 24, 2004, 4:44:14 PM8/24/04
to

?fooguy? wrote:

> This looks like a classpath problem, but I don't think it is:

It is. Your classpath has to have msbase.jar, mssqlserver.jar and msutil.jar listed.
Get those three jar files in your current directory, and do this:

set CLASSPATH=%CLASSPATH%;.\msbase.jar;.\mssqlserver.jar;.\msutil.jar;.

then

java SQLTest


Joe Weinstein at BEA

?fooguy?

unread,
Aug 25, 2004, 11:17:18 AM8/25/04
to
Joe Weinstein <joeN...@bea.com> wrote in message news:<#L7Pmthi...@TK2MSFTNGP10.phx.gbl>...

> ?fooguy? wrote:
>
> > This looks like a classpath problem, but I don't think it is:
>
> It is. Your classpath has to have msbase.jar, mssqlserver.jar and msutil.jar listed.
> Get those three jar files in your current directory, and do this:
>
> set CLASSPATH=%CLASSPATH%;.\msbase.jar;.\mssqlserver.jar;.\msutil.jar;.

The files need to be explicitly mentioned in the classpath, they're in jdk142\lib:

D:\jdk142\lib>dir
Volume in drive D is DISK2
Volume Serial Number is 846C-625C

Directory of D:\jdk142\lib

08/24/2004 02:05 PM <DIR> .
08/24/2004 02:05 PM <DIR> ..
02/22/2004 11:34 PM 139,037 dt.jar
02/22/2004 11:44 PM 1,214,157 htmlconverter.jar
08/20/2004 07:22 PM 18,381 ir.idl
02/22/2004 11:29 PM 1,916 jawt.lib
02/22/2004 11:29 PM 218,250 jvm.lib
11/21/2002 04:40 PM 286,707 msbase.jar
11/21/2002 04:40 PM 67,024 mssqlserver.jar
11/21/2002 04:40 PM 58,903 msutil.jar
08/20/2004 07:22 PM 429 orb.idl
02/22/2004 11:48 PM 5,082,203 tools.jar

?fooguy?

unread,
Aug 25, 2004, 11:27:07 AM8/25/04
to
Joe Weinstein <joeN...@bea.com> wrote in message news:<#L7Pmthi...@TK2MSFTNGP10.phx.gbl>...
> ?fooguy? wrote:
>
> > This looks like a classpath problem, but I don't think it is:
>
> It is. Your classpath has to have msbase.jar, mssqlserver.jar and msutil.jar listed.
> Get those three jar files in your current directory, and do this:
>
> set CLASSPATH=%CLASSPATH%;.\msbase.jar;.\mssqlserver.jar;.\msutil.jar;.
>
> then
>
> java SQLTest

C:\temp>echo %CLASSPATH%
d:\jdk142\lib;d:\jdk142\jre\lib;d:\jdk142\lib\msbase.jar;d:\jdk142\lib\msutil.jar;d:\jdk142\lib\mssqlserver.jar;c:\temp

C:\temp>java sqlTest.class


Exception in thread "main" java.lang.NoClassDefFoundError:

sqlTest/class

C:\temp>java sqlTest

Joe Weinstein

unread,
Aug 25, 2004, 12:54:03 PM8/25/04
to ?fooguy?

?fooguy? wrote:

> Joe Weinstein <joeN...@bea.com> wrote in message news:<#L7Pmthi...@TK2MSFTNGP10.phx.gbl>...
>
>>?fooguy? wrote:
>>
>>
>>>This looks like a classpath problem, but I don't think it is:
>>
>>It is. Your classpath has to have msbase.jar, mssqlserver.jar and msutil.jar listed.
>>Get those three jar files in your current directory, and do this:
>>
>>set CLASSPATH=%CLASSPATH%;.\msbase.jar;.\mssqlserver.jar;.\msutil.jar;.
>>
>>then
>>
>>java SQLTest
>
>
> C:\temp>echo %CLASSPATH%
> d:\jdk142\lib;d:\jdk142\jre\lib;d:\jdk142\lib\msbase.jar;d:\jdk142\lib\msutil.jar;d:\jdk142\lib\mssqlserver.jar;c:\temp

Good. We're making progress.

> C:\temp>java sqlTest.class
> Exception in thread "main" java.lang.NoClassDefFoundError:
> sqlTest/class

As expected. Never add the '.class'. It's just 'java sqlTest'.

> C:\temp>java sqlTest
> Exception in thread "main" java.lang.NoClassDefFoundError: sqlTest

As expected note in your code, the line package "com.microsoft.jdbc.sqlserver;"
Remove it and recompile. Otherwise the class you want to execute isn't "sqlTest", it's
"com.microsoft.jdbc.sqlserver.sqlTest", and it would have to be in a directory
com\microsoft\jdbc\sqlserver" below where you are.
Joe

0 new messages