Pregunta

Usando DTS estoy creando dinámicamente una base de datos de acceso. Después de crear el archivo (que funciona en este punto), el paquete DTS lo publicará a través de HTTP en otro sitio. (Este HTTP es exactamente como debe hacerse, parte de la especificación).

Pero cuando el paquete publica el archivo, la versión publicada aparece como un archivo de 0 bytes. El código para publicar el archivo está probado y es un código bien implementado. Estoy seguro de que funciona. Un colega me dijo que cree que este " 0-byte " se produce un error porque la conexión de acceso no ha cerrado el archivo de acceso. Dijo que el paquete DTS debe completarse para que se cierre el archivo de acceso.

La pregunta es: ¿Cómo obtengo Access para cerrar el archivo de Access antes de que se ejecute el paso para publicar el archivo?

En caso de que sea necesario, los pasos son:

  • Cree el archivo de acceso, establezca un objeto de conexión de acceso predefinido en este nuevo archivo
  • Crear la tabla en Access
  • Use una tarea Transformar datos para llenar la base de datos de acceso (desde un servidor SQL)
  • Publicar el archivo a través de HTTP (se está utilizando Pretefined / Prestested Libaary)

¡Gracias de antemano por tu ayuda!

¿Fue útil?

Solución

La respuesta, que acabo de descubrir, es que justo antes de publicar el archivo (o después de que termine de escribir en el archivo) el flujo de trabajo cierra la conexión

Puedo lograr esto al marcar " Cerrar conexión al finalizar " casilla de verificación en la pestaña de opciones del cuadro de diálogo Propiedades del flujo de trabajo.

¡Gracias a todos!

Otros consejos

Creo que su colega tiene razón, es probable que la publicación a través de HTTP tenga que vivir fuera del DTS, o que deba buscar una forma VBS de cerrar la conexión, pero no estoy seguro de si eso es posible .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top