Domanda

devo lavorare in un ambiente di DTS nel 2005 (troppo complicato da spiegare) e ho un file di testo delimitato da virgole che deve essere aggiunto alla tabella principale. Mi piacerebbe tirare l'ultima colonna nel file di testo per il primo record e usarlo come selezionare i criteri per un comando di cancellazione. Ma come posso fare questo nell'ambiente DTS vecchio?

Ecco la riga di dati foobar

9,36,7890432174,2007-12-17 00:00:00.000,21,15.22,99,11,49,28,2009-07-12 00:00:00

quello che voglio fare è creare un'istruzione SQL che cancella tutti i record in cui una determinata colonna è uguale a "2009-07-12 00:00:00"

Grazie.

È stato utile?

Soluzione

Ci sono almeno due modi per implementare questa in DTS.

Il primo è quello di

  1. caricare il file di testo in una tabella di gestione temporanea
  2. selezionare il valore data dalla tabella temporanea e assegnare a una variabile pacchetto
  3. effettuare la cancellazione tramite il pacchetto variabile come parametro di input
  4. Inserisci dalla tabella di gestione temporanea nella tabella principale
  5. chiaro verso il basso la tabella di gestione temporanea

Questo presuppone che vi sia un modo per identificare l'ordine delle righe nel file di testo dai dati. In caso contrario, si potrebbe aggiungere una colonna di identità alla definizione tabella di gestione temporanea.

Il secondo è quello di

  1. estrarre il valore dal file di input utilizzando un'attività di script e assegnarlo a una variabile del pacchetto
  2. effettuare la cancellazione tramite il pacchetto variabile come parametro di input
  3. Inserisci dal file di testo nella tabella principale

Modifica

Credo che sia anche possibile utilizzare il driver ODBC file di testo generico per accedere al file di testo come una tabella del database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top