Perhaps the simpliest way could be to use a
BackgroundWorker[
^].
You could place the long running operation in the DoWork and use ProgressChanged event to inform that things are going forward.
However if you're sending the data to the database in one piece, you actually cannot say how long it's going to take so you won't be able to calculate percentage for the progress. In that kind of case you can use Marquee
Style[
^] for a progress bar.