Java - conectar a base de datos

 
Vista:
Imágen de perfil de Charly
Val: 178
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

conectar a base de datos

Publicado por Charly (118 intervenciones) el 01/03/2017 16:02:22
Hola, estoy creando una aplicacion conectada a una base de datos.
La clase que me da problemas es esta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.sql.*;
public class conexionDDBB{
	private Connection con=null;
	public conexionDDBB(){
		try{
			//Class.forName("com.mysql.jdbc.Driver");
			Class.forName("org.apache.derby.jdbc.ClientDriver");
			try{
				//con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/UNIVERSIDAD","root","");
				String sURL="jdbc:derby://localhost:127.0.0.1/UNIVERSIDAD;create=true;user=cdum;password=cdum";
				con=DriverManager.getConnection(sURL);
			}catch(SQLException e){
				e.printStackTrace();
			}
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}
	}
	public Connection getConexion(){
		return con;
	}
	public void cerrarConexion(){
		try{
			con.close();
		}catch(SQLException e){
			e.printStackTrace();
		}
	}
}
Y me aparece el siguiente error:

Exception in thread "main" java.lang.NumberFormatException: For input string: "127.0.0.1"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.tokenizeOptionalPortNumber(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at conexionDDBB.<init>(conexionDDBB.java:11)
at gestorAlumnos.<init>(gestorAlumnos.java:331)
at TestGestorAlumnos.main(TestGestorAlumnos.java:3)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

conectar a base de datos

Publicado por Tom (1831 intervenciones) el 01/03/2017 17:27:41
Si ya especificas el host como localhost ¿ para qué repites otra IP (127.0.0.1) ? Lo que espera ahí el driver es el número de puerto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Charly
Val: 178
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

conectar a base de datos

Publicado por Charly (118 intervenciones) el 01/03/2017 17:38:24
Tom, gracias por la respuesta.
Le he quitado la dirección numérica, pero ahora me da otro error:

java.sql.SQLNonTransientConnectionException: java.net.ConnectException: Error al conectarse al servidor localhost en el puerto 1.527 con el mensaje Connection refused: connect.
at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at conexionDDBB.<init>(conexionDDBB.java:11)
at gestorAlumnos.<init>(gestorAlumnos.java:331)
at TestGestorAlumnos.main(TestGestorAlumnos.java:3)
Caused by: ERROR 08001: java.net.ConnectException: Error al conectarse al servidor localhost en el puerto 1.527 con el mensaje Connection refused: connect.
at org.apache.derby.client.net.NetAgent.<init>(Unknown Source)
at org.apache.derby.client.net.NetConnection.newAgent_(Unknown Source)
at org.apache.derby.client.am.ClientConnection.<init>(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(Unknown Source)
... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at javax.net.DefaultSocketFactory.createSocket(Unknown Source)
at org.apache.derby.client.net.OpenSocketAction.run(Unknown Source)
at org.apache.derby.client.net.OpenSocketAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 11 more

Como cambio el puerto para conectarme?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

conectar a base de datos

Publicado por k' (1 intervención) el 02/03/2017 01:55:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
try
            {
                    Class.forName("org.apache.derby.jdbc.ClientDriver");
 
                    String url = "jdbc:derby://localhost:1527/dbtest";
 
                    Connection con = DriverManager.getConnection(url);
                    Statement s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                      ResultSet.CONCUR_READ_ONLY);
 
                    ResultSet rs= s.executeQuery(sql);
 
                    CachedRowSet crs = new CachedRowSetImpl();
                    crs.populate(rs);
 
                    rs.close();
                    s.close();
                    con.close();
 
                    return crs;
 
            }
            catch(Exception e)
            {
                   System.out.println(e.getMessage());
            }
 
            return null;
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Charly
Val: 178
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

conectar a base de datos

Publicado por Charly (118 intervenciones) el 02/03/2017 09:34:20
Gracias k.
El segundo error que me daba era que no había ejecutado un bat necesario para abrir el puerto.
Otro error que tenía era que había puesto usuario y contraseña y no los necesitaba.
Ahora el problema es que me dice que en la base de datos no existe la tabla ALUMNOS.
La tengo que crear al principio del código o mediante otro archivo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar