Programación General > Java

 Conexion de Netbeans a SQL Server 2016

(1/1)

hackerdam:
Que tal.
Estoy tratando de hacer una conexión desde NetBeans 8.1 a Sql Server 2016.
Sin embargo, me sale error y no logra conectarse.
Segui los pasos del siguiente tutorial: https://www.youtube.com/watch?v=1A4p-4EZ5X0
Les paso mi código a continuación:

CLASE ConectorSqlServer

--- Código: ---
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class ConectorSqlServer {
    Connection con;
    CallableStatement cst;
    String nombre_BD;
    String usuario="usuario";
    String pass="Contrasena";
    public ConectorSqlServer(String Nombre_Base_Datos) {
        nombre_BD=Nombre_Base_Datos;
        try{
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con=DriverManager.getConnection("jdbc:sqlserver://Servidor\\SQLEXPRESS:1433;databasename="+nombre_BD+";"+"user="+usuario+";password="+pass);
            System.out.println("Existosa Conexion a la Base de Datos");
        }catch (ClassNotFoundException | SQLException e){
                  System.out.println("Error al Conectar con la Base de Datos" + e);
            JOptionPane.showMessageDialog(null,"Error al Acceder a la Base de Datos");
        }
    }
    public Connection getCon() {
        return con;
    }
    public CallableStatement getCst() {
        return cst;
    }
    public int Conectar(){   // retorna -1 si hubo un error
        try{
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con=DriverManager.getConnection("jdbc:sqlserver://C0BSGCHL\\SQLEXPRESS:1433;databasename="+nombre_BD+";"+"user="+usuario+";password="+pass);
            return 0;
        }catch (ClassNotFoundException | SQLException e){
            return -1;
        }
    }
    public int Desconectar(){   // retorna -1 si hubo un error
        try {
            con.close();
            return 0;
        } catch (SQLException ex) {
            return -1;
        }
    }
   
    /// EJECUTORES /////
    public int Insertar(String Tabla,String argumentos[]){  //devuelve -1 si hubo error y si un argumento es char o varchar debe ir entre comilla simple ej: "'hola'"
    //en caso de entero se debe mandar v[n]=String.valueOf(entero);
    // si es un String el que se va a guardar v[n]="String";
    // si es fecha el formato es "'año/dia/mes'" ej: v[n]="'2013/27/2'";
        String sql="insert into "+Tabla+" values(";
        if(argumentos!=null){
           if(argumentos.length>0){
            sql=sql+argumentos[0];   
            for (int i = 1; i < argumentos.length; i++) {
                sql=sql+","+argumentos[i];
               
            }
            sql=sql+")";
            if(Conectar()==0){
                    try {
                       Statement stm = con.createStatement();
                       stm.execute(sql);
                       if(Desconectar()==0){
                           return 0;
                       }
                    } catch (Exception e) {
                        return -1;
                    }
            }
           }
        }
           return -1;
    }
    public int Modificar(String Tabla,String Campo[],String valores[],String condicion){//devuelve -1 si hubo error y si un argumento es char o varchar debe ir entre comilla simple ej: "'hola'"
        String sql="update "+Tabla+" set ";
        if(condicion==null){
            condicion="";
        }else{
            if(!"".equals(condicion)){
                condicion=" where "+condicion;
            }
        }
        if(Campo!=null&&valores!=null){
           if(Campo.length>0&&valores.length==Campo.length){
            sql=sql+Campo[0]+"="+valores[0];   
            for (int i = 1; i <Campo.length; i++) {
                sql=sql+","+Campo[i]+"="+valores[i];
            }
            sql=sql+condicion;
            if(Conectar()==0){
                    try {
                       Statement stm = con.createStatement();
                       stm.execute(sql);
                       if(Desconectar()==0){
                           return 0;
                       }
                    } catch (Exception e) {
                        return -1;
                    }
            }
           }
        }
           return -1;
    }
   
    public int  Ejecutar_Sentencia(String sql){
      if(Conectar()==0){
        try {
             Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                    ResultSet.CONCUR_READ_ONLY);
            ResultSet rs = null;
            stm.execute(sql);
            return 0;
         } catch (Exception e) {
             System.out.println("Error al Ejecutar Sentencia: "+sql);
             return -1;
         }
      }
      return -1;
    }
    public Object[] Consulta_simple(String sql){
        Object v[]=new Object[0];
      if(Conectar()==0){
        try {
             Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                    ResultSet.CONCUR_READ_ONLY);
            ResultSet rs = null;
            rs = stm.executeQuery(sql);
            String a="";
            while(rs.next()){
                   v= agrandar_vec_object(v,rs.getObject(1));
            }
            if(Desconectar()==0){
                if(v.length!=0){
                    return v;
                }else{
                    return null;
                }
            }
        } catch (Exception e) {
            return null;
        }
      }
        return null;
    }
    public Object[] Consulta_Ayuda(String Tabla,String Campo,String condicion){
        if(condicion==null){
            condicion="";
        }else{
            if(!"".equals(condicion)){
                condicion=" where "+condicion;
            }
        }
        String sql="select "+Campo+" from "+Tabla+condicion;
        Object v[]=new Object[0];
      if(Conectar()==0){
        try {
             Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                    ResultSet.CONCUR_READ_ONLY);
            ResultSet rs = null;
            rs = stm.executeQuery(sql);
            String a="";
            while(rs.next()){
                   v= agrandar_vec_object(v,rs.getObject(1));
            }
            if(Desconectar()==0){
                  return v;
            }
        } catch (Exception e) {
            return null;
        }
      }
        return null;
    }
    public DefaultTableModel Consulta_Tabla_Ayuda(String Tabla,String Campo[],String condicion){
        String sql="select ";
        if(condicion==null){
            condicion="";
        }else{
            if(!"".equals(condicion)){
                condicion=" where "+condicion;
            }
        }
        if(Campo!=null){   
            if(Campo.length>0){
                sql=sql+Campo[0];
                for (int i = 1; i < Campo.length; i++) {
                    sql=sql+","+Campo[i];
                }
                sql=sql+" from "+Tabla+condicion;
                if(Conectar()==0){
                    try {
                        Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                        ResultSet.CONCUR_READ_ONLY);
                        ResultSet rs = null;
                        rs = stm.executeQuery(sql);
                        DefaultTableModel modelo=new DefaultTableModel();
                        modelo=Imprimir(rs,modelo);
                        if(Desconectar()==0){
                            return modelo;
                        }
                    } catch (Exception e) {
                        return null;
                    }
                }
            }
        }
        return null;
    }
     public DefaultTableModel Consulta_Tabla_Simple(String sql){
                if(Conectar()==0){
                    try {
                        Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                        ResultSet.CONCUR_READ_ONLY);
                        ResultSet rs = null;
                        rs = stm.executeQuery(sql);
                        DefaultTableModel modelo=new DefaultTableModel();
                        modelo=Imprimir(rs,modelo);
                        if(Desconectar()==0){
                            return modelo;
                        }
                    } catch (Exception e) {
                        return null;
                    }
                }
        return null;
    }
   
    private Object[] agrandar_vec_object(Object v[],Object ele){
        Object m[]=new Object[v.length+1];
        System.arraycopy(v, 0, m, 0, v.length);
        m[v.length]=ele;
        return m;
    }
    private DefaultTableModel Imprimir(ResultSet res,DefaultTableModel modelo){

        int i;
        try {
        ResultSetMetaData rmeta = res.getMetaData();
        int numColumnas= rmeta.getColumnCount();
            for(i=1;i<=numColumnas;i++)
            {
            modelo.addColumn(rmeta.getColumnName(i));
            }
            while (res.next())
            {
            Object [] fila = new Object[numColumnas];
                for (i=0;i<numColumnas;i++)
                fila[i] = res.getObject(i+1);
                modelo.addRow(fila);
            }
        } catch (Exception e) {
            return null;
        }
        return modelo;
    }
}
--- Fin del código ---

CLASE p2

--- Código: ---package MetodosConexion;

public class p2 {
   
    public static void main(String args[]) {
        ConectorSqlServer c = new ConectorSqlServer("Base_Datos");
        c.Conectar();
   
    }
   
}
--- Fin del código ---

Cuando corro el archivo p2 me sale el siguiente error en la consola:

     
--- Código: ---Error al Conectar con la Base de Datoscom.microsoft.sqlserver.jdbc.SQLServerException: No se pudo realizar la conexión TCP/IP al host C0BSGCHL, puerto 1433. Error: "Connection refused: connect. Verifique las propiedades de conexión, compruebe que hay una instancia de SQL Server ejecutándose en el host y aceptando las conexiones TCP/IP en el puerto y compruebe que no hay ningún firewall bloqueando las conexiones TCP en el puerto.".
--- Fin del código ---

¿Acaso este procedimiento no aplica para los servidores de SQLExpress?
¿Se usa un Driver diferente para SQL Server 2016?
Muchas gracias por su ayuda.

Navegación

[0] Índice de Mensajes

Ir a la versión completa