DTS Sql server : Ripetizione Package

mercoledì 28 marzo 2007 - 12.01

Killy77 Profilo | Newbie

Ciao a tutti,

ho un problema con un dts...
il dts in questione è un misto di task vb di lettura files .txt, task vb che inviano e-mail in caso di errore e esecuzione di query sql.
Allora il dts funziona ... x fortuna,
il problema è che riesco a leggere un solo file quando in realtà ce n'è più di uno.
in pratica non ho problemi di lettura di files etc... è solo che non so come ripetere il package nel caso ci siano più files ...
qualcuno sa come posso fare?

grazie mille
Aldo

lbenaglia Profilo | Guru

>in pratica non ho problemi di lettura di files etc... è solo
>che non so come ripetere il package nel caso ci siano più files
>...
>qualcuno sa come posso fare?

Ciao Aldo,

potreati utilizzare un ActiveX Script Task che tramite il File System Object va a looppare con un ciclo For...Each sui file presenti in una certa directory e che richiama l'intero package ad ogni esecuzione valorizzando opportunamente le sue variabili globali con i dati del file appena letto...

>grazie mille
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Killy77 Profilo | Newbie

Ciao e grazie
scusa ma ho descritto poco il mio problema...
allora
inizio con un activex che dovrebbe ciclare i files,
appena ne trova uno imposta una variabile globale che poi utilizzerò in seguito
chiaramente ho delle proprietà dinamiche settate,
dopodiche eseguo dei task che leggono il file lo importano in una tabella più altre operazioni su altre tabelle legate ad essa, alla fine del package c'è un activex che elimina il file che ho memorizzato nella variabile globale.
a questo punto dovrei passare al secondo file..
per ora ho provato ma senza risultati positivi queste soluzioni :
1.
creare un activex che verifica (con lo stesso sistema del primo ) se ci sono file
se ci sono file (con il success) vado all'inizio ...
problema quando eseguo il package esegue solo il primo task senza passare ai task successivi

2.
Creare un Execute Package task dello stesso package e dopo aver fatto i controlli come al punto 1. punto a questo task...
il problema è parziale ovvero,
vedo che fa tutto quello che deve fare (almeno una volta) ma va in errore sull'invio email finale.

anche togliendo l'invio e-mail la cosa che non mi convince è il fatto che l'abbia provato con 2 files, ma sinceramente non credo possa funzionare con più files anche perché non è che sia molto pulito richiamare lo stesso dts al suo interno...
cmq
questo è quanto chi mi può illustrare una soluzione pulita?
grazie
ciao
Aldo

lbenaglia Profilo | Guru

>anche togliendo l'invio e-mail la cosa che non mi convince è
>il fatto che l'abbia provato con 2 files, ma sinceramente non
>credo possa funzionare con più files anche perché non è che sia
>molto pulito richiamare lo stesso dts al suo interno...

Ciao Aldo,

non puoi definire un package che cicla i file eseguendo il package che contiene tutta la logica?
Ti allego il codice relativo ad un ActiveX Script Task che ho in produzione dal 2004:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Killy77 Profilo | Newbie

Ciao
ho appena risolto in parte anche documentandomi.. ma
principalmente ... lo ammetto a tentativi...
allora vi illustro...
il package è rimasto tale...
poi sì alla fine ne ho fatto uno nuovo...
dove ho messo solo 2 task
uno di tipo Execute Package Task e uno Activex
chiaramente il primo è il primo dts
l'altro è così composto
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

chiaramente tutto questo implica che tra l'execute package task e l'activex sia collegato un workflow "on success"


questo è quanto
grazie cmq
a presto
Aldo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5