Foros del Web » Programación para mayores de 30 ;) » Java »

conexion java con sql server 2008

Estas en el tema de conexion java con sql server 2008 en el foro de Java en Foros del Web. Tras investigar como conectar java con sql server 2008 me tope con algunos inconvenientes como de que el driver no se detectaba les dejo un ...
  #1 (permalink)  
Antiguo 14/01/2010, 10:28
 
Fecha de Ingreso: marzo-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
conexion java con sql server 2008

Tras investigar como conectar java con sql server 2008 me tope con algunos inconvenientes como de que el driver no se detectaba les dejo un ejemplo de como se hace una conexion a sql server con netbeans
el codigo lo tome de soporte de microsoft


Código:
public class conexion2 {

    private java.sql.Connection con = null;
    private final String url = "jdbc:sqlserver://";
    private final String serverName = "localhost";
    private final String portNumber = "1433";
    private final String databaseName = "base";
    private final String userName = "pepe";
    private final String password = "algo23";
    // Indica al controlador que debe utilizar un cursor de servidor, // lo que permite más de una instrucción activa // en una conexión.
    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("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);
            if (con != null) {
                System.out.println("Conexión correcta.");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Error de seguimiento en getConnection() : " + e.getMessage());
        }
        return con;
    }

    /* Mostrar las propiedades del controlador y los detalles de la base de datos */
    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("Información del controlador");
                System.out.println("\tNombre del controlador: " + dm.getDriverName());
                System.out.println("\tVersión del controlador: " + dm.getDriverVersion());
                System.out.println("\nInformación de la base de datos ");
                System.out.println("\tNombre de la base de datos: " + dm.getDatabaseProductName());
                System.out.println("\tVersión de la base de datos: " + dm.getDatabaseProductVersion());
                System.out.println("Catálogos disponibles ");
                rs = dm.getCatalogs();
                while (rs.next()) {
                    System.out.println("\tcatálogo: " + rs.getString(1));
                }
                rs.close();
                rs = null;
                closeConnection();
            } else {
                System.out.println("Error: No hay ninguna conexión activa");
            }
        } 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 {
        conexion2 myDbTest = new conexion2();
        myDbTest.displayDbProperties();
    }
}

el driver lo baje de
Código:
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=99b21b65-e98f-4a61-b811-19912601fdc9&displayLang=en
y solo se agrega en las librerias del proyecto

saludos
  #2 (permalink)  
Antiguo 01/09/2010, 14:18
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: conexion java con sql server 2008

Excelente información.....muchas gracias.....
  #3 (permalink)  
Antiguo 05/09/2010, 17:26
 
Fecha de Ingreso: agosto-2010
Mensajes: 126
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: conexion java con sql server 2008

felicidades pepe, que buen código el que pusiste ...

aquí les dejo un código que conecta NetBeans y MySQL
solo tienen que realizar algunos cambios como por ejemplo:
arquitectura -> es el nombre de mi BD ustedes ponen ahí el nombre de su BD
password -> si al crear la BD le pusieron password entonces lo colocan, caso contrario lo dejan como una cadena vacía ""

Código PHP:
public class Conexion {
    static public 
Connection con;
    static 
String claseDriver "com.mysql.jdbc.Driver";
    static 
String url "jdbc:mysql://localhost:3306/arquitectura";
    static 
String user "root";
    static 
String password "root";

    public static 
Connection getConexion() {
            return 
con;
    }

    public static 
void abrirConexion() {
        try {
            if (
con == null) {
                Class.
forName(claseDriver).newInstance();
                
con DriverManager.getConnection(urluserpassword);
            }
            else {
                if (
con.isClosed()) {
                        
con DriverManager.getConnection(urluserpassword);
                }
            }
        } catch (
SQLException e) {
                
e.printStackTrace();
        } catch (
ClassNotFoundException ex) {
                
ex.printStackTrace();
        } catch (
InstantiationException ex) {
                
ex.printStackTrace();
        } catch (
IllegalAccessException ex) {
                
ex.printStackTrace();
        }
    }

    public static 
void cerrar() {
        try {
            if (!
con.isClosed())
                
con.close();
        } catch (
SQLException e) {
                
e.printStackTrace();
        }
    }

    static public 
boolean estaConectado() {
        
boolean sw false;
        try {
            if (
con == null) {
                    
sw false;
            } else if (!
con.isClosed())
                    
sw true;
        } catch (
SQLException e) {

                
e.printStackTrace();
        }
        return 
sw;
    }
    public static 
void main(String Srgs[]) {
        
Conexion.abrirConexion();
        
System.out.print(Conexion.estaConectado());
    }

claro que también no se olviden de adicionar Driver MySQL JDBC a la Biblioteca de NetBenas
  #4 (permalink)  
Antiguo 18/08/2011, 07:03
 
Fecha de Ingreso: septiembre-2009
Mensajes: 13
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: conexion java con sql server 2008

sustitui mis datos en este codigo para poder conectarme a mi base de datos sql y me da error y estoy conectado con eclipse a la base de datos mediante el sql explorer: los errores son
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
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.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at conectate.getConnection(conectate.java:22)
at conectate.displayDbProperties(conectate.java:41)
at conectate.main(conectate.java:80)
Error de seguimiento en getConnection() : com.microsoft.sqlserver.jdbc.SQLServerDriver
Error: No hay ninguna conexión activa

mi codigo
//import java.sql.*;

public class conectate {

private java.sql.Connection con = null;
private final String url = "jdbc:sqlserver://";
private final String serverName = "localhost";
private final String portNumber = "1433";
private final String databaseName = "proy";
private final String userName = "sad";
private final String password = "juanka";
// Indica al controlador que debe utilizar un cursor de servidor, // lo que permite más de una instrucción activa // en una conexión.
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("com.microsoft.sqlserver.jdbc.SQLSer verDriver");
// Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver");
con = java.sql.DriverManager.getConnection(getConnection Url(), userName, password);
// con = java.sql.DriverManager.getConnection(arg0)
if (con != null) {
System.out.println("Conexión correcta.");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error de seguimiento en getConnection() : " + e.getMessage());
}
return con;
}

/* Mostrar las propiedades del controlador y los detalles de la base de datos */
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("Información del controlador");
System.out.println("\tNombre del controlador: " + dm.getDriverName());
System.out.println("\tVersión del controlador: " + dm.getDriverVersion());
System.out.println("\nInformación de la base de datos ");
System.out.println("\tNombre de la base de datos: " + dm.getDatabaseProductName());
System.out.println("\tVersión de la base de datos: " + dm.getDatabaseProductVersion());
System.out.println("Catálogos disponibles ");
rs = dm.getCatalogs();
while (rs.next()) {
System.out.println("\tcatálogo: " + rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
} else {
System.out.println("Error: No hay ninguna conexión activa");
}
} 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 {
conectate myDbTest = new conectate();
myDbTest.displayDbProperties();
}
}
  #5 (permalink)  
Antiguo 03/07/2012, 20:52
 
Fecha de Ingreso: julio-2012
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: conexion java con sql server 2008

Cita:
Iniciado por pepe_3059 Ver Mensaje
Tras investigar como conectar java con sql server 2008 me tope con algunos inconvenientes como de que el driver no se detectaba les dejo un ejemplo de como se hace una conexion a sql server con netbeans
el codigo lo tome de soporte de microsoft


Código:
public class conexion2 {

    private java.sql.Connection con = null;
    private final String url = "jdbc:sqlserver://";
    private final String serverName = "localhost";
    private final String portNumber = "1433";
    private final String databaseName = "base";
    private final String userName = "pepe";
    private final String password = "algo23";
    // Indica al controlador que debe utilizar un cursor de servidor, // lo que permite más de una instrucción activa // en una conexión.
    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("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);
            if (con != null) {
                System.out.println("Conexión correcta.");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Error de seguimiento en getConnection() : " + e.getMessage());
        }
        return con;
    }

    /* Mostrar las propiedades del controlador y los detalles de la base de datos */
    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("Información del controlador");
                System.out.println("\tNombre del controlador: " + dm.getDriverName());
                System.out.println("\tVersión del controlador: " + dm.getDriverVersion());
                System.out.println("\nInformación de la base de datos ");
                System.out.println("\tNombre de la base de datos: " + dm.getDatabaseProductName());
                System.out.println("\tVersión de la base de datos: " + dm.getDatabaseProductVersion());
                System.out.println("Catálogos disponibles ");
                rs = dm.getCatalogs();
                while (rs.next()) {
                    System.out.println("\tcatálogo: " + rs.getString(1));
                }
                rs.close();
                rs = null;
                closeConnection();
            } else {
                System.out.println("Error: No hay ninguna conexión activa");
            }
        } 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 {
        conexion2 myDbTest = new conexion2();
        myDbTest.displayDbProperties();
    }
}

el driver lo baje de
Código:
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=99b21b65-e98f-4a61-b811-19912601fdc9&displayLang=en
y solo se agrega en las librerias del proyecto

saludos
Una pregunta, ese controlador y ese codigo sirven para java 1.4?

Etiquetas: conexion, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:59.