Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2003, 13:53
Avatar de fjmasero
fjmasero
 
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 4 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