Foros del Web » Programando para Internet » ASP Clásico »

No puedo controlar un error

Estas en el tema de No puedo controlar un error en el foro de ASP Clásico en Foros del Web. Hooola, tengo una página asp que conecta con un servidor sql, hay que validar un login y una contraseña. Si el login y la contraseña ...
  #1 (permalink)  
Antiguo 14/06/2002, 01:47
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
No puedo controlar un error

Hooola, tengo una página asp que conecta con un servidor sql, hay que validar un login y una contraseña. Si el login y la contraseña están bien entra en la página pero si están mal, en vez de salir el mensaje que yo tengo asignado sale el standard de windows para los errores web(ya sabeis la pantalla blanca que pone "No se puede mostrar la página...")
el código es:

Código:
 

<%
session("usu") = request.form("usuario")
session("pass") = request.form("password")
				
		set conexion = createobject ("ADODB.connection")
		conexion.open "PROVIDER=SQLOLEDB; UID=" & session("usu") & "; PWD=" & session("pass") & "; DATABASE=camiones; SERVER=transportes-paco"

		strSQL = "select * from trayectos"
		set miconexion= conexion.execute(strsql)
		
		if err.description <> "" then
		Response.write "<b>Error en la base de datos:" & err.description & "</b>"

		else
		%>
<font face="Arial" color="#CCCCFF"><b>itresa intranet</b></font>
<p align="center">
 
<b>Comprobada contraseña y conexión a la base de datos satisfactoriamente.</b>
<%end if
		miconexion.close
		conexion.close
		set miconexion = nothing
		set conexion = nothing
%>
La página en que entra es de marcos, creo que puede tener algo que ver.

<p align="center"><font color="#219CC6" size="3">"...Siempre he confiado en la bondad de l@s desconocid@s."</p>[/CODE]
  #2 (permalink)  
Antiguo 14/06/2002, 02:12
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 23 años, 5 meses
Puntos: 1
Re: No puedo controlar un error

Bueno, vamo a ver

No estoy seguro pero tal vez pudiera funcionar asi, ya me contaras...

Código:
  
&lt;%
On error resume next

session(&quot;usu&quot;) = request.form(&quot;usuario&quot;)
session(&quot;pass&quot;) = request.form(&quot;password&quot;)

set conexion = createobject (&quot;ADODB.connection&quot;)
conexion.open &quot;PROVIDER=SQLOLEDB; UID=&quot; &amp; session(&quot;usu&quot;) &amp; &quot;; PWD=&quot; &amp; session(&quot;pass&quot;) &amp; &quot;; DATABASE=camiones; SERVER=transportes-paco&quot;

strSQL = &quot;select * from trayectos&quot;
set miconexion= conexion.execute(strsql)

if err.number &lt;&gt; &quot;&quot; then
	Response.write &quot;&lt;b&gt;Error en la base de datos:&quot; &amp; err.description &amp; &quot;&lt;/b&gt;&quot;
else
%&gt;
&lt;font face=&quot;Arial&quot; color=&quot;#CCCCFF&quot;&gt;&lt;b&gt;itresa intranet&lt;/b&gt;&lt;/font&gt;
&lt;p align=&quot;center&quot;&gt;
&amp;nbsp;
&lt;b&gt;Comprobada contraseña y conexión a la base de datos satisfactoriamente.&lt;/b&gt;
&lt;%end if
miconexion.close
conexion.close
set miconexion = nothing
set conexion = nothing
%&gt;
.......................................

La verdad es que nunca se me había ocurrido hacer algo parecido a esto, lo normal, es tener la cadena de conexión con un usuario y password determinado y despues que cada usuario tenga su login y password, de esta forma tendras un mayor control sobre cada uno, pero esto también depende de lo que quieras hacer :)

Un saludo!

  #3 (permalink)  
Antiguo 14/06/2002, 02:24
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: No puedo controlar un error

No, asi tampoco funciona; el hecho es que en el error de win cuando validas mal sale una linea que dice lo siguiente:

Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Error de inicio de sesión del usuario 'nombre_usuario_incorrecto'.
/principal.asp, line 15

Creo que es por esto por lo que no sale el mensaje, pq no llega al if, se jode antes.
voy a prober con on error resume next.
un segundo...
(probando)
buah con on error resume next tampoco, peor pq entra siempre!!!

no sé, alguna sugerencia¿? :-p


<p align="center"><font color="#219CC6" size="3">"...Siempre he confiado en la bondad de l@s desconocid@s."</p>[/CODE]
  #4 (permalink)  
Antiguo 14/06/2002, 03:06
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 23 años, 5 meses
Puntos: 1
Re: No puedo controlar un error

Acabo de hacer un ejemplo parecido y me ha salido perfectamente, te lo pongo aqui abajo para que lo veas:

&lt;%

On Error Resume Next

strUser = &quot;usuario&quot;
strPwd = &quot;password&quot;

Set conn = Server.CreateObject(&quot;ADODB.Connection&quot;)

conn.open &quot;PROVIDER=SQLOLEDB;UID=&quot; &amp; strUser &amp; &quot;;PWD=&quot; &amp; strPwd &amp; &quot;;DATABASE=;SERVER=servidor&quot;

if err.number &lt;&gt; &quot;&quot; then
'Descripcion del error: Login failed for user usuario.
response.write &quot;Descripcion = &quot; &amp; err.description &amp; &quot;&quot;
else
response.write &quot;¡¡¡¡ USUARIO CORRECTO !!!!&quot;
end if

conn.close
set conn = Nothing

%&gt;

Espero que te sirva!
  #5 (permalink)  
Antiguo 14/06/2002, 03:54
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: No puedo controlar un error


lo modifiqué asi
y tampoco....usuario= request.form(&quot;usuario&quot;)
password= request.form(&quot;password&quot;)
session(&quot;usu&quot;) = request.form(&quot;usuario&quot;)
session(&quot;pass&quot;) = request.form(&quot;password&quot;)

set conexion = createobject (&quot;ADODB.connection&quot;)
conexion.open &quot;PROVIDER=SQLOLEDB; UID=&quot; &amp; usuario &amp; &quot;.....

joder
que mierda
me voy a volver loco...
  #6 (permalink)  
Antiguo 14/06/2002, 04:16
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: No puedo controlar un error

Centremonos (aunque sea viernes),partadmos del principio,prueba esto y di que error te da:


&lt;%
session(&quot;usu&quot;) = request.form(&quot;usuario&quot;)
session(&quot;pass&quot;) = request.form(&quot;password&quot;)

set conexion = createobject (&quot;ADODB.connection&quot;)
conexion.open &quot;PROVIDER=SQLOLEDB; UID=&quot; &amp; session(&quot;usu&quot;) &amp; &quot;; PWD=&quot; &amp; session(&quot;pass&quot;) &amp; &quot;; DATABASE=camiones; SERVER=transportes-paco&quot;

strSQL = &quot;select * from trayectos&quot;
set miconexion= conexion.execute(strsql)

if miconexion.eof then

Response.write &quot;Error no me pude conectar y aun no se la razón,toy triste&quot;

else
%&gt;
&lt;font face=&quot;Arial&quot; color=&quot;#CCCCFF&quot;&gt;&lt;b&gt;itresa intranet&lt;/b&gt;&lt;/font&gt;
&lt;p align=&quot;center&quot;&gt;
&amp;nbsp;
&lt;b&gt;Comprobada contraseña y conexión a la base de datos satisfactoriamente.&lt;/b&gt;
&lt;%end if
miconexion.close
conexion.close
set miconexion = nothing
set conexion = nothing
%&gt;

Dime, que te devolvio?
  #7 (permalink)  
Antiguo 14/06/2002, 04:43
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: No puedo controlar un error

Me pasa exactamente lo mismo que antes...
el error es este.

:-p
Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Error de inicio de sesión del usuario 'dasdas'.--&gt;ese usuario no existe, claro
/principal.asp, line 16
:-p

No sé, como toy un poco desesparau, toy empezando a mirar que igual puede ser pq es una página de marcos la que recibe el form y no sabe interpretar... no sé el qué... fijate tú que sin sentido estoy diciendo oye....


<p align="center"><font color="#219CC6" size="3">"...Siempre he confiado en la bondad de l@s desconocid@s."</p>[/CODE]
  #8 (permalink)  
Antiguo 14/06/2002, 04:52
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: No puedo controlar un error

No me aclaro, el usuario que le estas pasando 'dasdas' desde un formulario ¿existe? (contesta SI o NO) y luego ese usuario es un usuario con permisos para acceder a esa base de datos con ese usuario y password?
  #9 (permalink)  
Antiguo 14/06/2002, 05:07
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 23 años, 5 meses
Puntos: 1
Re: No puedo controlar un error

Bueno, lo último que se me ocurre...

Asegurate de que pones al principio &quot;On Resume Next&quot;, puede que el problema este el el Recordset que abre una conexion que no es valida, aqui te dejo:

Código:
&lt;%
On Error Resume Next

Dim strUser
Dim strPwd
Dim strSQL
Dim conn
Dim rs

strUser = &quot;usuario&quot;
strPwd = &quot;password&quot;

Set conn = Server.CreateObject(&quot;ADODB.Connection&quot;)
conn.open &quot;PROVIDER=SQLOLEDB;UID=&quot; &amp; strUser &amp; &quot;;PWD=&quot; &amp; strPwd &amp; &quot;;DATABASE=;SERVER=servidor&quot;

if err.number &lt;&gt; &quot;&quot; then
'Descripcion del error: Login failed for user usuario.
response.write &quot;Descripcion = &quot; &amp; err.description &amp; &quot;&quot; 
else

	response.write &quot;¡¡¡¡ USUARIO CORRECTO !!!!&quot;

	strSQL = &quot;select * from trayectos&quot;
	set rs = conn.Execute(strSQL)
	
	if not rs.EOF then
		'Haces lo que quieras
	end if

end if

conn.close
set conn = Nothing
%&gt;
Espero que esta vez si...
  #10 (permalink)  
Antiguo 14/06/2002, 05:09
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 23 años, 5 meses
Puntos: 1
Re: No puedo controlar un error

no creo que influya pero no he cerrado el recordset en el ejemplo de arriba.

Cuando lo pruebes me cuentas, ok!

  #11 (permalink)  
Antiguo 14/06/2002, 05:15
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: No puedo controlar un error

Creo que ya se donde esta, gracias Tomahakww, es que no lo entendi desde el principio, ahora lo he pillao (es que es vieenes y epoca de examenes toy atorado) debes poner esto:

if err&gt;0 then

y debe solucionartelo.fue asi?



  #12 (permalink)  
Antiguo 14/06/2002, 05:18
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: No puedo controlar un error

gracias amigos, pero no lo soluciona; es viernes estoy cansado y ya no puedo más.
necesito siesta.
:-p
  #13 (permalink)  
Antiguo 14/06/2002, 05:55
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: No puedo controlar un error

Uf, prueba esto otro (palos de ciego):

&lt;%
On error resume next

session(&quot;usu&quot;) = request.form(&quot;usuario&quot;)
session(&quot;pass&quot;) = request.form(&quot;password&quot;)

set conexion = createobject (&quot;ADODB.connection&quot;)
conexion.open &quot;PROVIDER=SQLOLEDB; UID=&quot; &amp; session(&quot;usu&quot;) &amp; &quot;; PWD=&quot; &amp; session(&quot;pass&quot;) &amp; &quot;; DATABASE=camiones; SERVER=transportes-paco&quot;

conexion.Errors.Clear

strSQL = &quot;select * from trayectos&quot;
set miconexion= conexion.execute(strsql)

if (err.number &lt;&gt; 0) then
Response.write &quot;&lt;b&gt;Error en la base de datos:&quot; &amp; err.description &amp; &quot;&lt;/b&gt;&quot;
else
%&gt;
&lt;font face=&quot;Arial&quot; color=&quot;#CCCCFF&quot;&gt;&lt;b&gt;itresa intranet&lt;/b&gt;&lt;/font&gt;
&lt;p align=&quot;center&quot;&gt;
&amp;nbsp;
&lt;b&gt;Comprobada contraseña y conexión a la base de datos satisfactoriamente.&lt;/b&gt;
&lt;%end if
miconexion.close
conexion.close
set miconexion = nothing
set conexion = nothing
%&gt;



  #14 (permalink)  
Antiguo 17/06/2002, 02:54
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: No puedo controlar un error

Que paso con esto? (aún estas afectado por lo de españa no?,que sufrimiento)
  #15 (permalink)  
Antiguo 17/06/2002, 20:01
 
Fecha de Ingreso: agosto-2001
Mensajes: 106
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: No puedo controlar un error

amigo si no me equivoco, estas poniendo al usuari a introducir el login y password .

Luego metes eso en la cadena de conexion.
PUES ESTA MAL.

Tu como administrador debes colocar el login y password en la pagina asp, encriptado o no o lo que sea. Pero el password no cambia, ese es el password de la BD, y el explorer te esta diciendo que no hay acceso a la BD.

La solucion es sencilla, en la BD debes tener una tabla con los usuarios. entonces:

//USUARIO DE LA PAGINA ENTRA:
session(&quot;usu&quot;) = request.form(&quot;usuario&quot;)
session(&quot;pass&quot;) = request.form(&quot;password&quot;)

// conectas el sitio
set conexion = createobject (&quot;ADODB.connection&quot;)
conexion.open &quot;PROVIDER=SQLOLEDB; UID=&quot; &amp; USUARIO_BD &amp; &quot;; PWD=&quot;CLAVE_BD&quot;; DATABASE=camiones; SERVER=transportes-paco&quot;

strSQL = &quot;select * from trayectos&quot;
set miconexion= conexion.execute(strsql)

Lego vas a comparar sacando de una tabla de usuarios con las claves que te enviarion

if clave_bv = clave_usuario then
entrar
else
lo que quieras

lo que esta malo es el enfoque

pruebalo a ver
sino
  #16 (permalink)  
Antiguo 01/07/2002, 06:02
 
Fecha de Ingreso: abril-2002
Mensajes: 216
Antigüedad: 23 años
Puntos: 0
Re: No puedo controlar un error

lo siento por la tardanza pero es que me conecto poco ultimamente
estoy enfadado por lo de españa!
el mundial una vergüenza
pero weno
esto sigo sin solucionarlo
y la ultima alternativa no me sirve
pq no puedo crear una tabla con los usuarios.
alguna idea.


<p align="center"><font color="#219CC6" size="3">"...Siempre he confiado en la bondad de l@s desconocid@s."</p>[/CODE]
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 16:30.