Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Estado E_Fail

Estas en el tema de Estado E_Fail en el foro de Visual Basic clásico en Foros del Web. Que signifia este error Error '-2147467259 (80004005)' en tiempo de ejecucion: El proveedor de datos u otros servicios devolvio un estado E_FAIL aqui les dejo ...
  #1 (permalink)  
Antiguo 18/10/2007, 11:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Exclamación Estado E_Fail

Que signifia este error

Error '-2147467259 (80004005)' en tiempo de ejecucion:
El proveedor de datos u otros servicios devolvio un estado E_FAIL

aqui les dejo como hago la conexion, no creo que sea eso, por que se conecta sin ningun problema.

dsnfox="DSN=Visual FoxPro Database;UID=;SourceDB=C:\Datos\control.dbc;Source Type=DBC;Exclusive=No;BackgroundFetch=Sí;Collate=M achine;Null=No;Deleted=No;"
Set db = New ADODB.Connection
db.CursorLocation = adUseClient
db.Open dsnfox

aqui esta el codigo, pero si hay un error en la bd, me sale el mensaje "La base examen.dbf devuelve EOF"

Set myset = New ADODB.Recordset
sql = "SELECT MAX(noexam) maximo FROM examen;"
myset.Open sql, db, adOpenDynamic, adLockOptimistic
With myset
If Not .EOF Then
newid = CLng(!maximo)
reg.noexam(i) = newid + 1
Else
MsgBox "La base examen.dbf devuelve EOF"
End If
.Close
End With
Set myset = Nothing

habiendo data me decia que myset.EOF=True ahora bien este es el codigo optimo, pero para ver cuela era el problema tube que hacer esto

Set myset = New ADODB.Recordset
sql = "SELECT * FROM examen;"
myset.Open sql, db, adOpenDynamic, adLockOptimistic
With myset
.MoveLast
.Close
End With
Set myset = Nothing

aqui me devuelve el estado E_FAIL a que se debe esto ?
  #2 (permalink)  
Antiguo 18/10/2007, 14:30
Avatar de aavg  
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 años
Puntos: 1
Re: Estado E_Fail

Si ya cerraste tu recordset no es necesario el:

Código:
'Set myset = Nothing
Intenta comentando esa linea a ver si se soluciona.

Otra cosa que podrias hacer antes de consultar busca si:

Código:
if myset.RecordCount > 0 then
   myset.Movefirst
End if
__________________
Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres
  #3 (permalink)  
Antiguo 19/10/2007, 11:09
 
Fecha de Ingreso: octubre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Estado E_Fail

Me sigue dando el error, se que tiene que ver exactamente con la tabla, no es la conexion, por que si fuese asi, me fallaria todo el programa, no es el comando de SQL MAX por que lo he usado antes y esta bien formulado, pregunto la solucion de todo esto es borrando los registros mas viejos de la tabla, si antes no lo mencione, uso dBase
  #4 (permalink)  
Antiguo 19/10/2007, 11:29
Avatar de aavg  
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 años
Puntos: 1
Re: Estado E_Fail

Te esta regresando datos en el recordset??

Verifica
Código:
myset.RecordCount > 0

Despues de que hayas abierto el recordset con los datos de tu tabla
Código:
myset.Open sql, db, adOpenDynamic, adLockOptimistic
__________________
Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres
  #5 (permalink)  
Antiguo 19/10/2007, 12:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Estado E_Fail

Bueno, ya solucione el problema, no era cuestion de codigo en Visual Basic, era que faltaba una ruta de ODBC SQL Server nunk habia visto eso pero bueno, gracias de todos modos ^^
  #6 (permalink)  
Antiguo 09/10/2008, 09:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Estado E_Fail

Y porque no dejás tu solución en la web.. justamente estoy con el mismo problemas.. y cuando termino de leer el tópico: "nada"
  #7 (permalink)  
Antiguo 12/01/2010, 06:32
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Respuesta: Estado E_Fail

Yo tuve el mismo problema con un usuario del programa que estoy haciendo. Tengo aprox. 50 usuarios y sólo a uno en un momento le salió ese problema. Mi programa emite reportes en excel. Al querer emitir uno, le salía un error que decía: El proveedor de datos u otro servicio devolvió un estado E-FAIL. Mi usuario reinició la máquina y simplemente no le volvió a ocurrir. No tengo idea de cuál fue la causa pero quería aportar mi experiencia. Yo uso VB6 y SQLServer. Tengo instalado office 2003, mi cliente, ni idea de qué tiene ... 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 22:15.