Problemas para conectar no SQLServer

2 respostas
C

Pessoal, não estou conseguindo conectar ao SQL pela minha classe.

Sempre apresenta o erro: “java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver”

Já configurei o classpath. Ele ficou assim:
C:\Tomcat 4.1\common\lib\mssqlserver.jar;C:\Tomcat 4.1\common\lib\msbase.jar;C:\Tomcat 4.1\common\lib\msutil.jar

E a minha classe é esta:

import java.sql.*;

:sad: import java.*;

public class Conexao

{

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= local;

private final String userName = user;

private final String 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 Conexao(){}

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

 private java.sql.Connection getConnection()
 {
      try
      {
           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
           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
 {
      Conexao myDbTest = new Conexao();
      myDbTest.displayDbProperties();
 }

}

Será que alguém pode me ajudar?

Obrigado

Marco.

2 Respostas

G

vc colocou o jar no lib da sua aplicação ?

de qualquer forma, aí vai um exemplo de conexão com SQLServer:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); con = DriverManager .getConnection( "jdbc:microsoft:sqlserver://localhost:1433;User=test;Password=secret); stm = con.createStatement();

:wink:

C

Coloquei o jar na pasta lib, mas mesmo assim não deu certo.

Consegui compilar e executar usando o comando:

javac -classpath “.;./lib/mssqlserver.jar;./lib/msbase.jar;./lib/msutil.jar” Conexao.java
java -classpath “.;./lib/mssqlserver.jar;./lib/msbase.jar;./lib/msutil.jar” Conexao

e os arquivos .jar estão na pasta lib, e a pasta lib está na mesma pasta que está a classe.

Você acha que deve ser acrescentado alguma coisa dentro do classpath para poder poder funcionar?

Desde já agradeço a atenção

Marco.

Criado 22 de dezembro de 2004
Ultima resposta 22 de dez. de 2004
Respostas 2
Participantes 2