[RESOLVIDO] Como conectar com o SQL Server 2008?

Oi GUJ,
galera tenho o seguinte código :


package com.imdb.database;

public class DataBase {

    private java.sql.Connection con = null;
    private final String url = "jdbc:microsoft:sqlserver://";
    private final String serverName = "localhost";
    private final String portNumber = "3306";
    private final String databaseName = "disciplinabd";
    private final String userName = "XXXXX";
    private final String password = "XXXXX";
    // 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 DataBase() { }
    

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

Porém quando executo ele não consegue fazer a conexão… eu adicionei os .jar no meu projeto, eu estou usando o Microsoft SQL Server JDBC Driver 3.0 .

Alguma ideia ?

Valter Henrique, estou neste momento usando SQL Server 2008 num projeto.

public static Connection conectar() {
            try{
                if(conn == null || conn.isClosed()){
                    try {
                            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                            conn = DriverManager.getConnection("jdbc:sqlserver://"+ serverName +";databaseName="+databaseName+";user="+userName+";password="  + password);
                            System.out.println("CON:@conectado: "+ (conn.isClosed() ? "" : "conectado"));
                        } catch (SQLException ex) {
                            ex.printStackTrace();
                        } catch (Exception ex) {
                            ex.printStackTrace();
                        }

                        return conn;
                    }
                }catch(SQLException ex){
                ex.printStackTrace();
            }
            System.out.println("Ja tava conectado");
            return conn;
        }

[quote=Cesimar]Valter Henrique, estou neste momento usando SQL Server 2008 num projeto.

public static Connection conectar() {
            try{
                if(conn == null || conn.isClosed()){
                    try {
                            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                            conn = DriverManager.getConnection("jdbc:sqlserver://"+ serverName +";databaseName="+databaseName+";user="+userName+";password="  + password);
                            System.out.println("CON:@conectado: "+ (conn.isClosed() ? "" : "conectado"));
                        } catch (SQLException ex) {
                            ex.printStackTrace();
                        } catch (Exception ex) {
                            ex.printStackTrace();
                        }

                        return conn;
                    }
                }catch(SQLException ex){
                ex.printStackTrace();
            }
            System.out.println("Ja tava conectado");
            return conn;
        }

[/quote]

Meu amigo, muito obrigado pela ajuda, valeu mesmo.
O meu erro era que o classname mudou e quando vi seu código notei isso, foi de fundamental ajuda, muito obrigado!

Galera, para quem precisar aqui esta uma classe que se conectar com o MS SQL Server 2008:

[code]

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DataBase {

private java.sql.Connection con = null;
private final String url = "jdbc:sqlserver://";
private final String serverName = "coloque o seu ip ou hostname aqui";
private final String databaseName = "o nome do seu banco de dados";
private final String userName = "o seu usuário";
private final String password = "a sua senha";

// Constructor
public DataBase() { }


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

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

}[/code]

Faça o download do Microsoft SQL Server JDBC Driver 3.0 que pode ser feito aqui e coloque o jdbc4 no classpath do seu projeto e execute este código =)

Abraços e obrigado ao Cesimar pela ajuda.

1 curtida

Fico feliz em poder ajudar.