sql >> Database >  >> RDS >> Sqlserver

Hoe loop je alleen door bestanden die niet bestaan ​​in de bestemming met behulp van een SSIS-pakket?

Hier is een mogelijke oplossing met twee aannames:

  1. Alle bestanden in de doelmap zijn door dit pakket verplaatst.
  2. De bestandsnamen zijn uniek.

U kunt een stap voor het loggen van bestandsnamen toevoegen aan de ETL.

Maak een nieuwe logtabel in de database met een kolom voor de bestandsnaam. Schrijf op elke lus van het pakket de bestandsnaam naar deze tabel. Dan kunt u die gebruiken als een eenvoudige opzoektabel die wordt gebruikt door een bepaalde voorwaardelijke logica in de ETL om te controleren of de bestandsnaam die wordt verwerkt, overeenkomt met een bestaand bestand.

Hoe u de logstap en de voorwaardelijke controle precies implementeert (kan een voorwaarde zijn in de gegevensstroom, uitgevoerd in een scripttaak, enz.) hangt af van het ontwerp van uw pakket, maar het moet bereiken wat u zoekt.




  1. Hoe Atanh() werkt in PostgreSQL

  2. Vervolgkeuzelijst vullen op basis van eerdere selectie

  3. Ophalen kan niet vastleggen wanneer autocommit is ingeschakeld uitzondering tijdens het werken met CachedRowSet in JDBC

  4. Retourneer rijen in willekeurige volgorde