Pai cam care este ideea in mare.
Vreau sa import niste date dintr-un anumit fisier, adica sa fac bulk insert. Datele primite le bag inntr-un tabel unprocessed din BD dupa care le impart in functie de strunctura BD in mai multe tabele.
Totul se face prin pproceduri stocate.
Ideea este ca vreau ca sa pot returna mesaje la user prin care sa se afiseaze ce constrangeri sunt incalcate pentru a putea sa modific datele din fisierul de import.
De asta tot importul aceasta este format dintr-o procedura stocata care apeleaza inca cam 5-6 proceduri din interiorul ei.
Faza este ca erori pot sa primesc in fiecare dintre aceste subproceduri iar in cea principala aduc mesajul la felcum am scris in primul post.
in procedura principala fiecare dintre subproceduri sunt incadrate in IF-uri iar daca s-a aruncat o eroare sa nu m intre in urmatoarele. Am ceva de genu
IF LEN(@eroare) = 0
BEGIN
PRINT 'Start Import to unprocessed ' + CAST(GetDate() AS VARCHAR)
set @start = GetDate()
EXEC @SPTransfer @eroare OUTPUT
set @endExec = GetDate()
Print ' Execution Time ' + Cast(Datediff(second,@start,@endExec) as varchar) +' seconds'
PRINT 'END Step_2_To_Unprocessed ' + CAST(GetDate() AS VARCHAR)
END
iar la finalul procedurii principale am un raiseerror
IF LEN(@eroare) <> 0
RAISERROR(@eroare, 16, 1)
Toate aceste proceduri ar tre sa ruleze fara nicio problema si cu cam acelasi rezultat pe SQL 2000 acum merg pe 2005
Daca aveti vreo idee .... plss...
Daniel.
MCP (C Sharp)
Software Engineer,
Cluj Napoca