** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Microsoft Windows
  Mensajes nuevos Mensajes nuevos RSS - Error en Wininet.dll al migar a 2008 Serv
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoError en Wininet.dll al migar a 2008 Serv

 Responder Responder
Autor
Mensaje
Pablillo I Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Julio/2006
Localización: España
Estado: Sin conexión
Puntos: 298
Enlace directo a este mensaje Tema: Error en Wininet.dll al migar a 2008 Serv
    Enviado: 03/Septiembre/2011 a las 10:12
Hola de nuevo a todos.

De nuevo con problemas, esto de los cambios y mudanzas me estan volviendo loco. Me imagino que un poco como a todos.

Voy con mi nuevo quebradero de cabeza. He cambiado un servidor que funcionaba con 2003 Server a 2008 Server (32 bits) y una parte de la aplicación que intercambia archivos desde el servidor con un alojamiento web, me ha dejado de funcionar, pero solo en parte, concretamente lo que he detectado que no funciona es la la función FtpFindFirstFile(), para cuando tengo que eliminar un directorio en un alojamiento web uso esta función, desde hace la tira:

Function EliminaDirWeb(sDir As String) As Variant
Dim strSQL As String
Dim strMSG As String
Dim vRet As Variant
Dim lOpen As Long
Dim lConnection As Long
Dim strFoto As String
Dim pData As WIN32_FIND_DATA
Dim hFind As Long

On Error GoTo EAWError
           

lOpen = InternetOpen("a", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
lConnection = InternetConnect(lOpen, GetEmpresa("FtpServer"), INTERNET_INVALID_PORT_NUMBER, GetEmpresa("FtpUser"), Encripta(GetEmpresa("FtpPassword"), -1), INTERNET_SERVICE_FTP, 0, 0)
If lConnection < 1 Then
    EliminaDirWeb = False
    Exit Function
End If
If FtpSetCurrentDirectory(lConnection, GetEmpresa("FtpArticulo") & sDir) = False Then
    strMSG = "No he podido encontrar el directorio " & GetEmpresa("FtpArticulo") & sDir
    DoCmd.HourGlass 0
    vRet = MsgForm("Conexión FTP...", strMSG, 2, 1, 0)
    EliminaDirWeb = False
    Exit Function
Else
    pData.cFileName = String(MAX_ePATH, 0)
    hFind = FtpFindFirstFile(lConnection, "*.*", pData, 0, 0)     <------ AQUI ES DONDE FALLA el resultado de hFind es 0 y no ejecuta el bucle
    Do While Not hFind = 0
        If pData.dwFileAttributes <> FILE_ATTRIBUTE_DIRECTORY Then
            If FtpDeleteFile(lConnection, pData.cFileName) = False Then
        strMSG = "No he podido eliminar el archivo " & pData.cFilename
        vRet = MsgForm("Elimnación via FTP...", strMSG, 2, 1, 0)
                EliminaDirWeb = False
                vRet = InternetCloseHandle(lOpen)
                Exit Function
            End If
        End If
        pData.cFileName = String(MAX_ePATH, 0) 'se llena con nulos
        vRet = InternetFindNextFile(hFind, pData)
        If vRet = 0 Then
            Exit Do
        End If
    Loop
    If FtpRemoveDirectory(lConnection, GetEmpresa("FtpArticulo") & sDir) = False Then          <----- AQUI ES DONDE SE SALE POR QUE NO PUEDE ELIMINAR EL DIRECTORIO
    strMSG = "No he podido eliminar el directorio " & GetEmpresa("FtpArticulo") & sDir
    vRet = MsgForm("Elimnación directorio via FTP...", strMSG, 2, 1, 0)
    EliminaDirWeb = False
        vRet = InternetCloseHandle(lOpen)
        Exit Function
    End If
End If
vRet = InternetCloseHandle(lOpen)

EliminaDirWeb = True

EAWExit:
    DoCmd.HourGlass 0
    Exit Function
   
EAWError:
    Select Case err
        Case 3021 ' Recorset vacio
            Resume Next
        Case Else
            strMSG = "Error " & CStr(err) & " --> " & Error$
            vRet = MsgForm("Error del sistema al eliminar en la web: ", strMSG, 2, 1, 0)
            EliminaDirWeb = False
            Resume EAWExit:
    End Select

End Function


Y sin tocar nada del código, y comprobando que los parametros de conexión son correctos, abre bien la conexión y me situo correctamente en el directorio. No me lee el FindFirstFile, y claro no puedo borrar el contenido ni mucho menos el directorio que es de lo que se trata.

Mi pregunta es: Han cambiado los parámetros de dicha función?, He estado buscando por estos intenetes, pero no he encontrado nada que me oriente.

Gracias de antemano por vuestro tiempo y paciencia.

Arriba
Pablillo I Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Julio/2006
Localización: España
Estado: Sin conexión
Puntos: 298
Enlace directo a este mensaje Enviado: 03/Septiembre/2011 a las 10:53
Pensando y reflexionando en voz alta.

Es posible que tenga algo que ver con los permisos de usuarios o el firewall del 2008 Server que le impide obtener respuestas desde el exterior?


Arriba
Pablillo I Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Julio/2006
Localización: España
Estado: Sin conexión
Puntos: 298
Enlace directo a este mensaje Enviado: 05/Septiembre/2011 a las 15:58
Resuelto, es un problema del firewall de 2008 server.

Podéis cerrarlo.

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable