Wow, with 40,000 products, whatever system you use, this is going to be a lot of work.

I agree that the best way to upload all this data is via SQL queries to the database, but there may be an easier way:-

I use the STANDARD (free version) of Easy Populate (available in the free add-ons section of this site - link above).

EasyPopulate takes a tab-delimited file of product data, and inserts it into the database in a matter of minutes.

You create your tab-delimited file firstly as a spreadsheet - either in MS Excel, or the OpenOffice equivalent.

Having this data in a spreadsheet allows for far more rapid and organised management.

Now, EasyPopulate ADVANCED (a commercial version, available at www.modhole.com), is capable of inserting ATTRIBUTE VALUES as well as basic product data.

If your supplier provides a feed of product data, this should be relatively easy to re-structure so that its format is compatible with EasyPopulate - even though it will be largely a manual task. Again, using the various functions in MS-Excel, you can perform such tasks quite quickly.

In my opinion, EasyPopulate advanced is the one you need.