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

¿por qué da error?

Estas en el tema de ¿por qué da error? en el foro de ASP Clásico en Foros del Web. Hola a todos: Estoy haciendo un acceso a una base de datos access, mediante ODBC. Después de hacer la conexion, detecto si se han producido ...
  #1 (permalink)  
Antiguo 20/02/2003, 13:53
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 6 meses
Puntos: 1
¿por qué da error?

Hola a todos:

Estoy haciendo un acceso a una base de datos access, mediante ODBC.

Después de hacer la conexion, detecto si se han producido errores, y detecta el siguiente:

[Microsoft][Administrador de controladores ODBC]Error de SQLSetConnectAttr del controlador.

Este error tiene el código 0.

¿Por qué da el error?.

Pongo el código de la conexion y la detección del error (añado alerts para saber si da o no el error), en el que como podéis ver se trata de una conexion simplisima.

<html>
<head><title>Untitled</title></head>
<body>
<%
on error resume next

'-------------------------------------
'ESTABLECIMIENTO CONEXION CON BASE DATOS
'Variables para crear la conexion a la base de datos SQL Server
Dim conexion

Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open "DB" 'DB es el ODBC de la base de datos db.mdb
'conexion.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\...\db.mdb"

if (conexion.Errors.Count > 0) then 'si hay errores en la creacion de la conexion

Dim strError
strError = "Proceso de conexión con la base de datos\n\nSe han producido los siguientes errores:\n\n"
for each horror in conexion.errors
strError = strError & horror.Number & "\n" & horror.Description & ".\n\nContacte con el Administrador de su Sistema"
next%>
<script language="JavaScript">
alert("<%= strError %>");
</script>
<%else 'si no ha habido errores en la conexion con la bdd, realizamos el insert necesario para aplicacion CRM%>
<script language="JavaScript">
alert("siiiiiiiiiiiii");
</script>
<%end if
'¿si abriendo la conexion con el odbc detecta error, pq funciona el siguiente recordset?
Set recordset = Server.CreateObject("ADODB.recordset")
recordset.CursorType = adOpenStatic
recordset.Open "select * from menu",conexion
if (err.description <> "") then%>
<div class="msg_error">
<%= "ERRORES EN SELECT INICIAL:<br>Error n&ordm;:&nbsp;" & err.number & "&nbsp;=&nbsp;" & err.description %>
</div>
<%else
err.Clear '"limpiamos" el objeto err pq puede haber conflictos con los generados por anteriores execute, etc.
numRegsAlbums = recordset.RecordCount
while not recordset.eof
for i=0 to recordset.Fields.Count
response.write(recordset(i) &"-")
next
response.write("<br>")
recordset.movenext
wend
end if%>
</body>
</html>

Si la conexión la abro con una cadena del tipo provider..., como la comentada, funciona sin que se detecten errores.

Lo + raro de todo es que después, si hago selects o lo que sea, como lo que he puesto, funciona.

?????????????????

Si alguién ve que es lo que pasa, ... favor de decirmelo.

Muuuchas gracias.

:cantar:
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #2 (permalink)  
Antiguo 20/02/2003, 14:35
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
por ke no bajas el ultimo mdac para que te actualice tu OBDC...quizas tengas problemas con el controlador
  #3 (permalink)  
Antiguo 20/02/2003, 15:07
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 6 meses
Puntos: 1
Hola:

Gracias por contestar.

Desarrollo con IIS 5.0 y el mdac de WinXP, así que creo que no es ese el problema.

Si sigues creyendo que si, dímelo.

Gracias
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #4 (permalink)  
Antiguo 20/02/2003, 15:09
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
aaaggrr :-p

...windows Xp..no se por ke le tengo recelo ...

bueno cuando creaste tu dsn...hiciste un test para ver si existian conexion?
  #5 (permalink)  
Antiguo 20/02/2003, 16:30
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 6 meses
Puntos: 1
Hola de nuevo:

Funcionar, funciona. La prueba es que puedo tratar el recordset sin problema.

La cuestión es que se detecta el error, que parece que no influye, pero ...

Como digo, si no pusiera el control de errores, no habría problema alguno.

Gracias de nuevo.

__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #6 (permalink)  
Antiguo 21/02/2003, 12:31
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
entonces por ke no cambias tu control de error....

conexion.Open "DB" 'DB es el ODBC de la base de datos db.mdb

Código:
On Error resume next
   If Err.Number<>0 then
          response.write Err.description &"<br>"
          response.write Err.number
    end if

...
...
  #7 (permalink)  
Antiguo 21/02/2003, 13:08
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 6 meses
Puntos: 1
Hola nuevamente:

Ya se que puedo evitar detectar el código de error 0, pero no se trata de eso.

Se trata de que si hay un error, saber el porque.

Muchas gracias.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #8 (permalink)  
Antiguo 21/02/2003, 14:14
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
parece que no nos estamos entendiendo...

y yo estoy con mucho trabajo o tu estas pensando en ke es viernes

el codigo que te puse detecta si hay un error... si el err.number es distinto de 0 implica que ocurrio un error y el err.description te dice cual fue el error ocurrido.

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 00:33.