title: How to update a remote ms access database?
body: <p>i need to create a webapp to show and allow editing for a set of data.</p>
  
  <p>This data is contained in an Access Database file, used by another application (a desktop application).</p>
  
  <p>I'm evaluating the best way to carry out this job.</p>
  
  <p>Unfortunatly my purpose to migrate to another database solution (rdbms such as MySQL or Postgres) was rejected by the customer.</p>
  
  <p>The issue here is how to keep data integrity and syncronized between the server and the desktop that executes the application that also uses this data.</p>
  
  <p>All I need to do is, read data, store edited or new data, give to authorized users an interface to review this new inserted data -thus validating it-, and import this to the original access database.</p>
  
  <p>I've found the following possible solutions (to update the desktop mdb copy), but each of them has pros and cons:</p>
  
  <ul>
  <li>remote access to the windows machine
  <ul>
  <li>exposes the machine to unauthorized access</li>
  </ul></li>
  <li>use rsync to keep files syncronized (once a day)
  <ul>
  <li>if the mdb on the client has been edited with the desktop application there will be data loss</li>
  <li>can be update only when all data has been validated</li>
  <li>there won't be real syncronized data (until rsync will run)</li>
  </ul></li>
  <li>client-server applications
  <ul>
  <li>can use secure layers to protect data against attackers</li>
  <li>a 3rd application (on the desktop) is required</li>
  <li>syncronization requires authorized users to use this 3rd application to import data (that will query the remote db and update the local mdb)</li>
  </ul></li>
  </ul>
  
  <p>Do you know some other way that could help me to get this done?
  I'm oriented on the client-server model, also if this would be more expensive, but it's the only way I see to make this work.</p>
  
  <p>Do you see some other pros/cons of the purposed solution?</p>
  
  <p>I didn't choose the PL to develop this, but I was thinking to use either PHP and/or Python.
  The remote environment (for the server) can either be Windows or *nix (preferred).</p>
  
  <p>Thanks.</p>