I'd suggest hosting the database yourself, then providing one or more interfaces like
SOAP to allow the user or their application to execute specific queries. This offers several benefits:
1) The user always gets the most current data
2) You can choose to use more equitable pricing models
3) You keep control of the data itself
The user having instant access to the most current data is a huge benefit to them. If changes are made on your system, the new information is available to the user as soon as you push that change to production instead of waiting for the next update file to arrive.
If you use an interactive access method, you can use different charge methods to suit your customers needs. When selling the CSV file, you have no practical control over how the data is used and how much revenue you generate based on the customer's usage. Using SOAP you can tell when the data was used, by which customer (based on login informaiton), and by which TCP/IP address. This may allow you to charge more fairly for the use of the data, and it can also show you where the interest/use lies which will let you make better decisions about how and where to invest in data quality and quantity.
-PatP