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

Error conexión base de datos

Estas en el tema de Error conexión base de datos en el foro de Java en Foros del Web. Hola, tengo un problema con la conexión con la base de datos. He probado muchas cosas pero no me funciona nada. Me sale esto: Ha ...
  #1 (permalink)  
Antiguo 10/09/2008, 09:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
Error conexión base de datos

Hola, tengo un problema con la conexión con la base de datos. He probado muchas cosas pero no me funciona nada. Me sale esto:

Ha tenido lugar un error en la línea: 25 en el archivo jsp: /categorias.jsp
bd cannot be resolved

22:
23: String consultaSQL = "SELECT c.categoria FROM CATEGORIAS c;";
24:
25: Statement st = bd.createStatement();
26: ResultSet rs = st.executeQuery(consultaSQL);
27:



El codigo completo es el siguiente:

try{
//Class.forName("org.postgresql.Driver");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){}
try{
//realizamos la conexion a la base de datos
Connection bd = DriverManager.getConnection("jdbc:odbc:localhost:8 081/tienda", "root", "");
//bd.close();
}catch(SQLException e){}

String consultaSQL = "SELECT c.categoria FROM CATEGORIAS c;";

Statement st = bd.createStatement();
ResultSet rs = st.executeQuery(consultaSQL);
  #2 (permalink)  
Antiguo 10/09/2008, 13:15
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Error conexión base de datos

bd cannot be resolved

Estas intentando usar el objeto bd fuera del ámbito en el que ha sido declarado (dentro del bloque try{})

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 10/09/2008, 13:19
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Error conexión base de datos

Hola,

Puedes declarar tu objeto "bd" fuera del bloque try, o poner todo tu codigo dentro del bloque try

saludos!
  #4 (permalink)  
Antiguo 11/09/2008, 08:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error conexión base de datos

Hola muchas gracias, el error se ha ido ahora que me lo habeis dicho veo que era una tonteria.

El problema es que sigo teniendo un error. Y es que creo que no hago bien el acceso a la base de datos. La base de datos la tengo en el xampp y el programa en el tomcat. Y no se muy bien que pasos tengo que seguir, si me tengo que descargar algun driver o los parametros que hay que poner. No se, ando algo perdido. Les agradeceria muchisimo que me orientaran un poco. Muchisimas gracias!!
  #5 (permalink)  
Antiguo 11/09/2008, 10:04
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Respuesta: Error conexión base de datos

Si estas trabajando con mysql, claro:
Driver..., y deberia ser algo asi el codigo:
Código PHP:
 Connection cn=null;
 
Statement set=null;
 
ResultSet rs=null;
 try{
  Class.
forName("com.mysql.jdbc.Driver").newInstance();
  
Strin url="jdbc:mysql://localhost/tubd";
  
cn=DriverManager.getConnection(url,"tu_usr","tu_psw");
  
set=cn.createStatement();
  
String sql="tus sentencias sql";
  
rs=set.executeQuery(sql);
 }
cath(Exception ex){
   
System.out.println("HORRORRR");
 } 
Dependiendo del IDE que utilices deberas referenciar el JAR, en tu proyecto...
Saludos..
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #6 (permalink)  
Antiguo 11/09/2008, 10:13
Avatar de Nighter  
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Error conexión base de datos

Esta es una clase general que desarrolle que te permite la conexion con cualquier base de datos (solo define el driver) y que te da los metodos para hacer CRUD (crear, leer, actualizar y borrar) y usa store procedures. Sientance libres de modificarlo y usarlo, pero si le hace una mejora por favor publiquenla y ahi me avisan, ps pa mejorar no?

Código PHP:
package sp;

import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.JOptionPane
import com.microsoft.sqlserver.jdbc.SQLServerException;

public class 
Conector 

 private 
Connection conn;    
 private 
ResultSet result;
 private 
Statement statement;
  
 public 
Conector() 
 {
  
inicializarConexion();
 }
 
 private final 
void inicializarConexion()
 {      
  try 
  {
   Class.
forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   
conn java.sql.DriverManager.getConnection("jdbc:sqlserver://10.10.1.12:1433;DatabaseName=pedidos","jon","jonathan"); //pedidos, jon, jonathan
   
statement conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE);
  }
  catch (
SQLException e
  {
   
JOptionPane.showMessageDialog(null,e.getMessage()+". No se pudo accesar a la base de datos","Sin acceso, no se obtuvo conexion",JOptionPane.ERROR_MESSAGE);
  }  
  catch (
ClassNotFoundException e
  {
   
JOptionPane.showMessageDialog(null,e.getMessage()+". No se pudo establecer conexion con la base de datos","Sin conexion, el controlador no esta presente",JOptionPane.ERROR_MESSAGE);
  }
 } 
 
 public final 
ResultSet selectQuery(String querythrows SQLServerExceptionSQLException 
 
{
  
result statement.executeQuery(query);       
  return 
result;    
 }

 public final 
void IUD(String querythrows SQLServerExceptionSQLException 
 
{
  
statement.executeUpdate(query);         
 }

 public final 
void sp(String querythrows SQLServerExceptionSQLException 
 
{
  
statement.execute(query);         
 }
 
 protected final 
void close() throws SQLServerExceptionSQLException 
 
{
  if(
result != null)
   
result.close();
   
  if(
statement != null)
   
statement.close();
   
  if(
conn != null)
   
conn.close();     
 }

esta clase es la basica, por aqui empece con base de datos, la actual que uso esta mas choncha pero ps esa cuando le entiendan bien a esta ok?

pero ps les paso el dato, una de las formas mas optimas de establecer conexion con bd es con PreparedStatements y con fuente de datos (DataSource) o si ya se quieren ir a lo pro ps ha usar persistencia (Hibernate, JPA)

espero que les sirva

[email protected] pa cualquier duda


"Un hombre no vale por cuanto sabe sino por a cuantos ha enseñado"
(jeje Ahi les dejo tambien la frase)
  #7 (permalink)  
Antiguo 11/09/2008, 10:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error conexión base de datos

Muchas gracias por las aclaraciones, me he descargado el driver. Pero no se donde ponerlo :s, seguramente sea una tonteria pero cuando descomprimo los ficheros no se dnd colocarlos.¿ Van en alguna carpeta del tomcat? Y con la documentacion no me aclaro muy bien.

A parte de lo que me ha dicho bellenger...que mas referencias tengo que poner en mi proyecto? Perdon si hago preguntas chorras pero ando algo perdido y todo lo que he buscado por internet no me ha aclarado mucho. Muxas gracias de antemano.
  #8 (permalink)  
Antiguo 12/09/2008, 08:05
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Error conexión base de datos

Hola,

Tienes que poner tus librerias en la carpeta "/WEB-INF/lib" de tu aplicacion

saludos!
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 11:00.