1. A computer-implemented method comprising; providing at least a first driver which contains programming for accessing at least a first data source and a second data source, different from said first data source, said first driver containing a first set of program instructions configured for use in connection with at least said first data source and containing s second set of program instructions configured for use in connection with at least said second data source; using said first driver to automatically obtain first information about the data structure of at least a first accessed data source, wherein said accessed data source is one of said first data source and said second data source, without the need for human analysis of the first data source or said second data source; said first driver including at least a third set of program instructions which is executed regardless of whether said accessed data source is said first data source or said second data source.