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

Como conecto jsp con una base de datos

Estas en el tema de Como conecto jsp con una base de datos en el foro de Java en Foros del Web. hola : siempre he conectado mis paginas a la base de datos mediante el puente odbc:jdbc pero ahora he estado leyendo que hay otra manera ...
  #1 (permalink)  
Antiguo 22/06/2004, 01:02
 
Fecha de Ingreso: noviembre-2003
Mensajes: 96
Antigüedad: 20 años, 5 meses
Puntos: 0
Como conecto jsp con una base de datos

hola :

siempre he conectado mis paginas a la base de datos mediante el puente odbc:jdbc pero ahora he estado leyendo que hay otra manera de hacerlo mediante un driver nativo o algo asi, ya q este metodo es para cualquier sistema operativo, es por eso q necesito de su ayuda , porq no se como conseguir este driver, no como instalarlo ni nada de nada..............

Ahora tengo otra consulta, porfa quisiera insertar dentro del jsp, un formulario q lo realice con swing, este formulario esta con paneles, combobox entre otros controles,....no se si esto es posible o no, y si lo es porfavor ayudemme como hacerlo..........

De antemano muchas gracias por su atencion prestada.
Por favor ayudemme
Gracias................
  #2 (permalink)  
Antiguo 22/06/2004, 07:29
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola como estas jeka.. bueno veo que quieres saber como se utiliza el driver JDBC, bueno no es muy dificil la verdad, a diferencia del metodo ODBC que solo se puede realizar a travez de Windows con los Dns del sistema.. este metodo es para levantar en todo tipo de plataforma linux, Windows, Unix etc. lo primero a relizar

1ro bajar el driver.- tienes que buscar el driver jdbc de la base de datos q estas utilizando y de la plataforma, por ejemplo ejemplo el driver de oracle para windows es classes2.zip, para cada base de datos hay un driver distinto estos los puedes bajar de la pagina de sun http://servlet.java.sun.com/products/jdbc/drivers

2do indicar la ruta del driver en el CLASSPATH.- luego modifica tu classpath e indicale donde se encuentra tu driver JDBC, el mejor lugar donde guardar el driver JDBC es en la carpeta "../tomcat4/common/lib" en el caso de que estes utilizando el tomcat

3ro en t pagina jsp cambiale la conexion aca te doy un ejemplo de la conexon de SQL-server (recuerda que para cada base de datos hay una conexion distinta)

Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection ("jdbc:jtds:sqlserver://10.5.7.16:1433/bd;user=elbueno45;password=123");

4to y luego empieza a trabajar jeje

espero haberte ayudado
cuidate
__________________
elbueno45
  #3 (permalink)  
Antiguo 22/06/2004, 08:46
 
Fecha de Ingreso: noviembre-2003
Mensajes: 96
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias por la pronta respuesta

hola y muchas gracias por contestarme..............aun no me queda claro eso del ClassPath, donde esta ................tambien te queria preguntar si me podrias ayudar con la segunda consulta q escribi antes.......................................Gracia s

Salu2
  #4 (permalink)  
Antiguo 23/06/2004, 15:59
 
Fecha de Ingreso: junio-2004
Mensajes: 13
Antigüedad: 19 años, 10 meses
Puntos: 0
Pregunta

Fijate ke me llamo la atencion eso de la conexion a la base de datos con SQL Server como esta eso del classforname=soureceforge...etc...
podrias explicarlo??

gracias...
  #5 (permalink)  
Antiguo 25/06/2004, 08:17
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola disculpen la demora, he estado muy ocupado y no he podido ver mi correo ultimamente,

bueno a sus preguntas, lo que debes a ser es bajar el driver jdbc en la pagina de sun que les dije,

sun http://servlet.java.sun.com/products/jdbc/drivers

hay otras paginas donde tambien los pueden bajar como la pagina principal de cada proovedor de las base de datos como la de mysql, oracle o sql-server, pero en la pagina de sun estan casi todos

bueno a tu pregunta del classpath, esto escomo la ruta que va indicar donde se encuantra tu driver.. (donde esta ubicado),

ejm..
Cuando corras tu servlet este va a pedir el driver ya q tu conexion es a travez de jdbc, pero el servlet no sabe donde se encuentra este y lo primero que va a ser es leer tu classpath para ver donde se encuentra tu driver y asi ejecutar sin problema.. si no creas el classpath es mas probable que t salga error de que no encuentra el driver de la base de datos

bueno si estas trabajando en entorno Windows.. lo que debes a ser es crear el Classpath..

entra a las propiedades de MI PC que esta en el escritorio - Avanzado - Variables de entorno

ahi vas a encontrar las variables de usuario y de sistema en la de usuario debes de crearla.. CLASSPATH

luego lo q vas a poner ahi son los ejecutables de java tools.exe rt.exe, la ruta donde se encuantran tus clases y el driver de tu base de datos

recuerda tambien que en tu PATH debe estar la carpeta de tu directprio java.. para que pueda conpilar tus clases, capas al instalarlo ya lo hizo pero porsiacaso fijate..

buen oeso en si lo que deberias a ser
y tu servlet ya deberia funcionar.. en lo quees redhat linux.. tendria que ir al archivo vi .bashrc y ahi crear su classpath, hay muchos ejemplos de clashpath en internet para que se guien

bueno y a tu segunda pregunta creo que si es posible mostrarlo en tu jsp, pero no lo tengo a la mano,

con respecto a sql - server es lo mismo todos los pasos que dije, lo unico que necesitas es el driver sql-server, el clashpath, indicando un driver sql, y la conexion dentro de tu servlet aca te mando un pequeño ejemplo, pero no tiene excepciones de errores para que lo entiendas mejor

public static void main (String argv[ ]) {

Connection con=null;
try {

//carga tu clase driver a utilizar, el nombre del driver nos da el propietario del Driver JDBC, en este caso es SQL-SERVER
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String url="jdbc:jtds:sqlserver://10.5.7.16:1433/bd;user=elbueno45;password=123";

con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery ("Select * from usuario");

System.out.println("Got results:");

while (rs.next( )) {
System.out.println(" " + rs.getString(1) + " " + rs.getString(2));
}
stmt.close( );
con.close( );
}
catch( Exception e) {
e.printStackTrace( );
}
}

espero q te ayude
suerte
__________________
elbueno45
  #6 (permalink)  
Antiguo 25/06/2004, 09:31
 
Fecha de Ingreso: noviembre-2003
Mensajes: 96
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias bueno45!!

gracias por tu respuesta,......¿estara bien lo que hacia? mira lo q estaba haciendo para conectar con mysql, era montar el driver al proyecto q estaba realizando, ¿es eso correcto? pq no me salia error............................

Se que estas ocupado, pero me preguntaba si sabes jsp, para q me apoyes con algunos problemitas q tengo.

Gracias
  #7 (permalink)  
Antiguo 25/06/2004, 11:17
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
a tu respuesta si se JSP, si necesitas algo pregnta

y a lo de tu driver debes pornerlo dentro de tu carpeta del servidor web,
como por ejemplo si es tomcat4 /tomcat4/common/lib/"driver" como te digo para que tu conexion con mysql funcione debes crear el classpath indicandole donde se encuentra el driver, no te entiendo a q te refiers con que montaste tu driver al proyecto, y donde es eso?
__________________
elbueno45
  #8 (permalink)  
Antiguo 25/06/2004, 15:51
 
Fecha de Ingreso: noviembre-2003
Mensajes: 96
Antigüedad: 20 años, 5 meses
Puntos: 0
Información una consulta de jsp

hola y nuevamente gracias por tu respuesta............tengo un problema con jsp, te cuento, resulta que tengo una pagina jsp la cual la direcciono a otra pasandole un parametro,de la sgte manera:

<jsp:forward "page02.jsp" />
<jsp:param name="codigo" value="1234" />
</jsp>

el problema esta en que en la pagina page02.jsp, quiero recuperar el parametro "codigo" pero solo obtengo "null"

<%
String cod=request.getParameter("codigo");
out.println (cod);
%>

Por favor ayudame en esto q lo necesito.

Gracias , muchisimas gracias
  #9 (permalink)  
Antiguo 26/06/2004, 09:47
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
lo que parece que esta mal es tu sintaxis, la primera linea:

"<jsp:forward "page02.jsp" />"

deberia ser asi

"<jsp:forward page="page02.jsp" />"

a ver fijate, te acabo de responder lo primero que vi, solo pude entrar un rato a la pagina mas tarde me conecto.. sorry, es que estoy un poco ocupado, a ver fijate
__________________
elbueno45
  #10 (permalink)  
Antiguo 02/07/2004, 23:24
 
Fecha de Ingreso: junio-2004
Mensajes: 7
Antigüedad: 19 años, 10 meses
Puntos: 0
hola , yo puedo resolver algo de tus dudas , yo hace poco trabaje con BD con java te explico, lo primero es el driver conector como dijo el colega bajalo de la pagina, lo otro es el path , bueno yo uso linux y lo hago de la siguiente forma :

1-extraigo el connecto.jar que viene en el controlador :
entras al al carpeta del controlador, luego
mv mysql-connector-java-[version]-bin.jar ../connector.jar , retrocedes cd ..
luego copias el connector.jar a "como root":
mv connector.jar /usr/java/j2sdk1.4.2_04/jre/lib/ext

hasta ahy vamos bien ahora debemos colocar la ruta del path.
2-depende de tu base de datos que uses yo uso mysql y en la pagina vi como conectar el controlador de la siguiente forma:
comando : csh
$ setenv CLASSPATH /usr/java/j2sdk1.4.2_04/jre/lib/ext/connector.jar:$CLASSPATH

luego exit .
entonces esta todo ok!
ahora probemos un ejemplo para testear de que el controlador este bien, y se conecte a la bd :

primero debes crear una base de datos en este caso sera agendita
nos vamos a mysql:

mysql>create database agendita; (esto, crea la base de datos agendita)

// luego le damos permiso al usuario que entrara , o usara esta base de datos
mysql>use agendita; <----- entramos a la bd agendita
mysql>grant all on agendita.* to usuario@localhost indentified by 'contraseña'; (las comillas de la contraseña son comillas simples)
exit (salimos)

ya estamos OK entonces con la bd a si sabes sql entonce creo que lo demas es un mero tramite.
ahora al codigo.

archivo : TestConnection.java

import java.sql.*;

public class TestConnection
{
static String bd = "agendita"; //si te fijas aca va la base de datos que entraremos
static String login = "usuario"; //aca colocas el usuario que entrara


static String password = "holahola"; //como es obvio dice pass , colocas la pass que usaste en la cd cuando le diste el permiso al usuario y asignaste la pass
static String url = "jdbc:mysql://localhost/"+bd;

public static void main(String[] args) throws Exception
{
Connection conn = null;

try
{
Class.forName("com.mysql.jdbc.Driver").newInstance ();

conn = DriverManager.getConnection(url,login,password);

if (conn != null)
{
System.out.println("Conexión a base de datos "+url+" ... Ok");
conn.close();
}
}
catch(SQLException ex)
{
System.out.println(ex);
}
catch(ClassNotFoundException ex)
{
System.out.println(ex);
}

}
}

bueno si todo sale ok estas conectado ya a una BD, si te arroja errores con el driver verifica lo anterior por que funciona a la perfeccion , si me extendi mucho sorry , alomejor fui un poco exagerado , pero en fin espero tu respuesta como te va, ojala que te funcione .
dudas ??
criticas??
acepto de todo, gracias :)=
  #11 (permalink)  
Antiguo 03/07/2004, 18:18
 
Fecha de Ingreso: noviembre-2003
Mensajes: 96
Antigüedad: 20 años, 5 meses
Puntos: 0
por sea caso...............

hola gracias por tu respuesta, pero me preguntaba si sabes la conexion pero en entorno windows, es q estoy trabajando bajo este sistema operativo..............gracias
  #12 (permalink)  
Antiguo 05/07/2004, 02:24
 
Fecha de Ingreso: junio-2004
Mensajes: 7
Antigüedad: 19 años, 10 meses
Puntos: 0
anda a la pagina de mysql y pone controlador jdbc , bajas el controlador y lees un manual para el path .
  #13 (permalink)  
Antiguo 07/07/2004, 02:46
 
Fecha de Ingreso: julio-2004
Mensajes: 5
Antigüedad: 19 años, 9 meses
Puntos: 0
tengo problema con SQL Server Alguien me ayuda??

Hola!!
Soy nuevo en el foro y como buen novato necesito ayuda

Necesito conectarme a una base de datos MS SQL Server y tengo lo siguiente

Me baje el controlador JDBC de microsoft y hago

Class.forName("com.microsoft.jdbc.sqlserver.SQLSer verDriver");
Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlser ver://156.35.152.144:1433;user=Administrador;password=------;");

y me genera el siguiente error,

Exception in thread "main" java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Error de inicio de sesi¾n del usuario 'Administrador'. Motivo: no estß asociado a una conexi¾n de SQL Server de confianza.

at com.microsoft.jdbc.base.BaseExceptions.createExcep tion(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getExceptio n(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.proces sErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.proces sReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.p rocessReplyToken(Un
known Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.proces sReply(Unknown Sour
ce)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnecti on.open(Unknown Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplC onnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknow n Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager .java:512)
at java.sql.DriverManager.getConnection(DriverManager .java:193)
at Test.<init>(Test.java:21)
at Test.main(Test.java:42)

Alguien sabe de que puede ser...?? Entro en Windows con mi cuenta de Administrador y tengo puesto modo de autentificacion de Windows solamente. Ya lo he probado todo alguien me puede ayudar ... toy desesperado

Muchas Gracias
  #14 (permalink)  
Antiguo 09/11/2004, 09:48
 
Fecha de Ingreso: julio-2004
Mensajes: 1
Antigüedad: 19 años, 9 meses
Puntos: 0
Hola.. estoy empezando a aprender JSP y necesito ayuda urgente! necesito saber si Solaris aceptara una base de datos en access... pues hasta ahorita tenia funcionando mi codigo con ASP y necesito pasarlo a JSP.
Por lo tanto necesito hacer la conexion sin ODBC. Como puedo bajar el driver, cual es el que me conviene, donde debo de guardarlo y necesito hacer alguna configuracion con classpath o algo asi?? Por lo pronto estoy haciendo pruebas en Windows....
Gracias de antemano. Si alguine puede ayudarem se lo agradeceria
  #15 (permalink)  
Antiguo 23/07/2008, 12:20
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Como conecto jsp con una base de datos

Hola!!! M podrian prestar ayuda para hacer una conexion de la base de dato de dato de SQL con el lenguaje jsp soy nueva en esto y la verdad estoy viedno muy dificel esto porfas helpme
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 19:07.