Jag sitter och forsoker fa ratt pa ett DTS-paket vi kor for en kund dagligen. Det funkar alldeles utmarkt de ganger da filen vi far fran var kund ar felfri, problemen dyker upp nar filen innehaller fel. <b>Ibland kommer det en accounts-fil med konton som refererar till en icke-existerande kund, </b> Ar jag tvungen att gora en sadan losning? Finns det inget enkelt satt att bara logga felet och ga vidare? Du kan logga felet (Max error count = mycket) men för att få det att funka, måste du sätta en batch-size på 1 också. Vill du ha tag på raderna, så kan du logga i SQL-7 format och stänga av SQL Server fast load. Då får du tillgång till dataraderna också.DTS - ignorera fel i source
Det ar 3 filer som laddas upp:
Clients
Accounts
Holdings
clients-delen ladda alltid upp finfint, eftersom den tabellen inte har nagra constraints.
Ibland kommer det en accounts-fil med konton som refererar till en icke-existerande kund, och da fallerar importen. Problemet med detta ar att inga av kontona laggs till och da misslyckas holdings-importen ocksa eftersom det inte finns nagra konton att referera till.
Vad jag vill gora ar att fortsatta med mina inserts och bara skippa de rader dar ett fel uppstar. Finns det en enkel installning for detta?
Jag har testat oka Max Error Count till 100 (jag vet att testfilen har en felaktig referens mitt i) och att logga fel till en fil, men importen misslyckas anda och felet i loggen pekar bara pa den nast sista raden i filen.
Felet:
Error at Destination for Row number 25100. Errors encountered so far in this task: 1.
Error Source: Microsoft OLE DB Provider for SQL Server
Error Description:The statement has been terminated.
Error Help File:
Error Help Context ID:0
Error Source: Microsoft OLE DB Provider for SQL Server
Error Description:INSERT statement conflicted with TABLE FOREIGN KEY constraint 'FK_BOAccount_BOClient'. The conflict occurred in database 'OMS', table 'BOClient'.
Error Help File:
Error Help Context ID:0Sv: DTS - ignorera fel i source
Lösning för att få in allt data: Jag antar att varje klient har ett kundnummer och att i accountsfilen referar varje account till en kund via kundnumret.
När du gör importen på account så kolla för varje account om kunden med kundnumret finns, gör den inte det så lägg upp den i Clients tabellen med något lätt identifierbart (tex kundnamn = "Unknown client: 123456789(kundnummer)"). Då kommer du att få in allt data, och du kan sedan sortera ut det data som är felaktigt.
I vissa typer av rapporter är man inte intresserad av vad tex kunderna har handlat för utan totalen. Dvs har man en försäljning på 100' en vecka så skall rapporten visa det oavsett om en kund finns eller inte.Sv:DTS - ignorera fel i source
Har sett nagot om DTSErrorMode men kan inte hitta nagoting om var man staller in det....Sv: DTS - ignorera fel i source
/micke