Re: Problem trying to connect to SQL using MS JDBC

From: Joe Weinstein (joeNOSPAM_at_bea.com)
Date: 08/24/04


Date: Tue, 24 Aug 2004 13:44:14 -0700


?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

>
> <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?



Relevant Pages

  • Re: Getting a list of Classes in a Package
    ... specific directory which has all .JAR files located in it to be ... What you really want is a clean way of iterating through only one package, and of detecting when a new .jar file is added to the classpath. ...
    (comp.lang.java.programmer)
  • Re: Package javax.swing not found in import.
    ... > I searched Google groups and found that it's a classpath problem, ... You need to think of your jar files as separate directories. ... file in which the javax.swing package is found. ... Once you have determined which jar file the package is in, specify ...
    (comp.lang.java)
  • Re: Package javax.swing not found in import.
    ... >> I searched Google groups and found that it's a classpath problem, ... > You need to think of your jar files as separate directories. ... > Explorer will be able to find the jar file that the package is in. ... Both variables should be declared under "System Variables" in Windows ...
    (comp.lang.java.gui)
  • Re: Package javax.swing not found in import.
    ... >> I searched Google groups and found that it's a classpath problem, ... > You need to think of your jar files as separate directories. ... > Explorer will be able to find the jar file that the package is in. ... Both variables should be declared under "System Variables" in Windows ...
    (comp.lang.java.programmer)
  • Re: Package javax.swing not found in import.
    ... >> I searched Google groups and found that it's a classpath problem, ... > You need to think of your jar files as separate directories. ... > Explorer will be able to find the jar file that the package is in. ... Both variables should be declared under "System Variables" in Windows ...
    (comp.lang.java)

Loading