The best tool I know of as long as you have SQL and SSIS running SharePoint SSIS list
Adapter.. There is an MSDN article... http://msdn.microsoft.com/en-us/library/dd365137.aspx
that describes how to use the tool, but its really much easier than the article may suggest...
Integration Services package developers often ask about the best way to get data out of or into a SharePoint list. The SharePoint List Source and Destination Sample available on the Microsoft SQL server Community Samples: Integration Services page on Codeplex provides an optimized solution with an easy-to-use interface. The sample also includes an API for accomplishing these tasks efficiently outside of Integration Services.
Use the SharePoint APIs to add or remove items one by one. Use the SharePoint Batch API to generate XML and submit the XML. Use the lists Web service, which uses the same XML as the Batch API.
There a few different ways to extract or load SharePoint data:
Calling the Web service is a powerful way to transfer data to or from SharePoint, whether or not you have extensive rights in your SharePoint environment, because it does not alter the SharePoint server itself in any way. The Web service also uses the Batch XML structure, which provides better performance than the server APIs for extracting or loading data.
Features of the SharePoint List Source and Destination
Only the fields that you want are returned from SharePoint. Large lists are not transferred all at once. They are paged in batches, with a configurable batch size. Column type information from SharePoint is used for mapping to Integration Services data types CAML queries can be added to the query to filter the rows to be returned. Update and Delete operations from an Integration Services package are simple. Important custom properties of the source and destination can be set by using Integration Services expressions.
The SharePoint List source and destination use public SharePoint Web services and have several features that enhance their performance and their ease of use:
Ivan Sanders My LinkedIn Profile
, My Blog