A ver si me podéis echar una mano con un problema que me está volviendo loco.
Tengo un proceso que genera unos ficheros para subir a un FTP unos ficheros con un detalle de facturas en TXT. Necesito que este proceso se ejecute de forma automática todos los días a una hora determinada. Los ficheros se generan en una carpeta de un equipo de la red local cuya ruta tengo configurada en una tabla de parámetros. Cada día se genera una subcarpeta con la fecha en formato yyyymmdd. Es decir la estructura de carpetas sería:
Como necesito que se ejecute de forma automática he creado una función remota que hace el proceso y llamo a la función con vRemoteFunction.exe vatp://192.168.0.119 SCEGESTION AUTO_PRUEBA auto 1234
El problema es que cuando ejecuto en remoto no me crea las carpetas, ni los ficheros. Si defino la ruta en los parámetros como C:/DOCUMENTOS/VELNEO/FACTURAS lo hace bien, pero si establezco una ruta con una unidad de red mapeada o con un camino tipo //192.168.0.119/… no funciona. Si ejecuto la función en mi vClient local siempre lo hace bien.
Adjunto el código de una función de prueba que sólo crea la carpeta para que veáis lo que hago.
¿Alguna ayuda?
Sigo peleándome con este tema que me tiene bloqueado.
Haciendo pruebas he comprobado lo siguiente. Tengo un proceso que hace simplemente Crear directorio(C_CARPETA,Sí,) ,donde C_CARPETA es la senda del directorio que quiero crear. Si paso como parámetro “C:/DATOS/PRUEBA” funciona correctamente tanto en primer plano como en tercer plano. Lógicamente cuando lo ejecuto en tercer plano crea el directorio en el disco C: del servidor.
En cambio si paso como parámetro “//192.168.0.119/DATOS/PRUEBA” funciona en primer plano, pero en tercer plano no crea el directorio.
Estoy trabajando con un servidor en red local.
¿Es normal este comportamiento o me pierdo algo?
Os agradecería toda la ayuda posible pues tengo que montar varios procesos que generan ficheros en el servidor de forma automática y estoy totalmente parado con el tema.
Al final he optado por una solución diferente porque además del problema de las carpetas me ocurría que ejecutando la función en remoto no tenía acceso a la DLL de vFTP.
Harto de pelearme con el tema he creado una solución que simplemente ejecuta el proceso en el autoexec y luego se cierra con Salir de la aplicación. Así el vClient se ejecuta en local y todo funciona bien.
Para ejecutar el vClient desde el programador de tareas he creado un archivo CMD con una sóla línea:
Creo que tiene que ver con las credenciales que usa el servicio vServer. Si has instalado vServer con licencia Por Máquina las credenciales son LocalSystem. Por lo tanto el servicio vServer tiene vetado el acceso a recursos de red.
Lo puedes comprobar desde vAdmin si intentas crear una carpeta de Datos, verás que solo aparecen las Unidades locales.
De todas formas consúltalo con Soporte, que alguna solución habrá.