Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lectura de Archivos de Texto con DTSx Package

310 views
Skip to first unread message

Jose Luis Cocha

unread,
Feb 19, 2009, 12:49:14 PM2/19/09
to
Tengo una aplicación que genera un archivo de texto cada hora. Ejemplo
TXT200902120500.TXT y a la hora siguiente genera TXT200902120600.TXT tengo
un DTSx con Integration services de SQL 2005 que me hace la carga y
depuración de la información, pero no se como hacer que mi fuentes de
información sean variables para que así a cada hora que se ejecute mi
proceso cambie el nombre de archivo de origen para el input del Package
DTSx.

Saludos y Gracias

José Luis Cocha
Lima Perú

Rubén Garrigós

unread,
Feb 20, 2009, 1:40:33 AM2/20/09
to
Puedes utilizar una expresi�n que te modifique la propiedad del nombre del
fichero en cuestion en funci�n de la hora actual de ejecuci�n. Las distintas
partes de la fecha que necesites las puedes extraer utilizando la funci�n
DATEPART de SSIS.

Rub�n Garrig�s
Solid Quality Mentors

"Jose Luis Cocha" <joselu...@hotmail.com> wrote in message
news:E507DFB4-722E-4B30...@microsoft.com...
> Tengo una aplicaci�n que genera un archivo de texto cada hora. Ejemplo

> TXT200902120500.TXT y a la hora siguiente genera TXT200902120600.TXT
> tengo un DTSx con Integration services de SQL 2005 que me hace la carga y

> depuraci�n de la informaci�n, pero no se como hacer que mi fuentes de
> informaci�n sean variables para que as� a cada hora que se ejecute mi

> proceso cambie el nombre de archivo de origen para el input del Package
> DTSx.
>
> Saludos y Gracias
>

> Jos� Luis Cocha
> Lima Per�
>
>

Jose Luis Cocha

unread,
Feb 21, 2009, 1:45:45 PM2/21/09
to
El problema es que en donde se añaden expresiones el código que acepta es
muy limitado y no me deja hacer bifurcaciones if else, como podría en esa
propiedad colocar una función personalizada.

Saludos

José Luis Cocha
Lima Perú


"Rubén Garrigós" <rgar...@solidq.com> escribió en el mensaje de
noticias:eeKylYyk...@TK2MSFTNGP06.phx.gbl...
> Puedes utilizar una expresión que te modifique la propiedad del nombre del
> fichero en cuestion en función de la hora actual de ejecución. Las

> distintas partes de la fecha que necesites las puedes extraer utilizando

> la función DATEPART de SSIS.
>
> Rubén Garrigós


> Solid Quality Mentors
>
> "Jose Luis Cocha" <joselu...@hotmail.com> wrote in message
> news:E507DFB4-722E-4B30...@microsoft.com...

>> Tengo una aplicación que genera un archivo de texto cada hora. Ejemplo

>> TXT200902120500.TXT y a la hora siguiente genera TXT200902120600.TXT
>> tengo un DTSx con Integration services de SQL 2005 que me hace la carga y

>> depuración de la información, pero no se como hacer que mi fuentes de

>> información sean variables para que así a cada hora que se ejecute mi

>> proceso cambie el nombre de archivo de origen para el input del Package
>> DTSx.
>>
>> Saludos y Gracias
>>

Jose Mariano Alvarez

unread,
Feb 22, 2009, 9:07:50 PM2/22/09
to
Debes trabajar en la solapa de control de tu paquete DTSX.
Tienes el FOREACH para procesar los archivos de una carpeta.
Puedes usar variables para asignar el nombre y luego al final mover el
archivo a otro lugar para que no lo vuelva a encontrar por ejemplo

Looping over files with the Foreach Loop
http://www.sqlis.com/post/Looping-over-files-with-the-Foreach-Loop.aspx


--

Saludos

------------------------
Ing. Jose Mariano Alvarez
SQLTotal Consulting
Mi.Correo.es.j0s...@gmail.c0m.Corregirl0
(Cambia los ceros por O y saca lo que sobra)

Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase. Por
favor tratar de indicar la versión de SQL y Service Pack. La inclusión de
(CREATE, INSERTS, etc.) para poder reproducir el problema también ayuda.


"Jose Luis Cocha" <joselu...@hotmail.com> wrote in message

news:C4E13195-2600-4AD1...@microsoft.com...

Jose Luis Cocha

unread,
Feb 25, 2009, 10:41:32 AM2/25/09
to
El Foreach es excelente pero solo me funcionaria para leer archivos en
secuencia yo necesito generar el nombre de acuerdo a la fecha y hora de
proceso
También necesito verificar si el archivo existe antes de leerlo. Es decir si
son las 10am mi proceso deberá leer el archivo TXT2009022509.LOG siempre y
cuando este exista; así sucesivamente las 24 horas del día.

Saludos y Gracias

José Luis Cocha
Lima Perú


"Jose Mariano Alvarez"
<Mi.Correo.es.j0s...@gmail.c0m.Corregirl0> escribió en el
mensaje de noticias:8623BEFE-7D4B-4108...@microsoft.com...

Jose Mariano Alvarez

unread,
Feb 27, 2009, 7:32:48 AM2/27/09
to
La experiencia de años de procesar CDR de centrales telefonicas me dice que

1- Si no tienes archivo de control con metadata del archivo de datos que
garantice la completitud del archivo, la sola eistencia del archivo de
datos, no es garantia de la integridad del archivo, sobre todo si usas FTP.

2- Puedes usar el foreach perfectamente mientras al final de tu cadena de
proceso muevas el archivo a otro lugar asi no lo vuelves a procesar o llevas
una tabla de control de archivos y verificas alli si lo procesaste.

Si lo que precisas es en lugar de procesasr, es generar los archivos, puedes
utilizar las variables del SSIS y el script task para generar ese nombre.

Debes modificar las propiedades del conection string en tiempo de ejecucion.

--

Saludos

------------------------
Ing. Jose Mariano Alvarez

Microsoft MVP


SQLTotal Consulting
Mi.Correo.es.j0s...@gmail.c0m.Corregirl0
(Cambia los ceros por O y saca lo que sobra)

Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase. Por
favor tratar de indicar la versión de SQL y Service Pack. La inclusión de
(CREATE, INSERTS, etc.) para poder reproducir el problema también ayuda.


"Jose Luis Cocha" <joselu...@hotmail.com> wrote in message

news:eLhDX91l...@TK2MSFTNGP06.phx.gbl...

0 new messages