Multiple client Databases

Multiple client Databases

I would like to develop a web based application where each company client (and their users) have their own unique database to ensure that their data is seperate from and secure from other company clients. I would like to do this within one application if possible for the following reasons:
  1. I only want to maintain and make changes to one copy of the application,
  2. The only access to my application will be through embedded forms and views on a website so I only want one version of the embedded site.
The only way that I can see to have seperate data files for each client is to copy the application for each client but this would be a nightmare to maintain. Every time I made an improvement or added a feature to the applicaiton I would have to do it in each copy of the application. I would also need a seperate folder on the web site of unique embedded web pages for each copy of the applicaiton to update and maintain.
 
Is there a solution to this?
 
Thanks, Tom