Last post May 16, 2018 09:46 AM by Deepak Panchal
May 11, 2018 03:16 AM|Saavik|LINK
I am new to this subject - please bear with me.
Are Access databases encrypted? If not, is there a way to do so and still use the data via SQL within Asp.net?
How are developers protecting their Access databases data, so if there is a breach, the data will be mostly useless to the thief?
If this is not the correct forum for these questions, please point to the right one.
Help most appreciated.
May 14, 2018 09:05 AM|PatriceSc|LINK
You could likely use
https://support.office.com/en-us/article/Encrypt-a-database-by-using-a-database-password-FE1CC5FE-F9A5-4784-B090-FDB2673457AB to encrypt the Acces file and https://www.connectionstrings.com/access/ to
access to this file. Make sure also to place this file in a directory such as App_Data and that the file extension is not registered in IIS (the purpose being to block download attempts).
Finally make sure you really have no other option as Access is primarily intended for a single user desktop use rather than as a scalable multi user database for web sites.
May 16, 2018 01:40 AM|Saavik|LINK
Thank you for this information. It obviously works.
It does scare me a bit - what happens if password is corrupt, or some other unexpected problem occurs? Is it still possible to get to the data?
Is there a way to encrypt/decrypt the data as it is read or written? Would this be better/worse/no different than having a password?
This database was created a few years back, and client is unwilling to pay for the work necessary to upgrade.
Help is most appreciated.
May 16, 2018 09:46 AM|Deepak Panchal|LINK
You had asked several questions.
(1) It does scare me a bit - what happens if password is corrupt, or some other unexpected problem occurs? Is it still possible to get to the data?
If the Access Database get corrupt then you can repair the database by using
Compact and Repair feature of Access.
Most of the time it removes the corruption. If that feature is also not able to correct the corruption then you can use the third party software which can provide facility to recover the data.
Till now I did not heard that password got corrupted.
But you can take the precaution and try to take a backup regularly. So if database get corrupted and nothing works then you can recover the data from backup copy.
How to troubleshoot and to repair a damaged Access 2002 or later database
(2) Is there a way to encrypt/decrypt the data as it is read or written? Would this be better/worse/no different than having a password?
You can find some code examples online which can encrypt / decrypt the data. But what if that encrypted data got corrupted in Access.
Then you will not able to get the correct data after decrypting it.
So You can think about it before following that approach.
But generally, it is enough that you can just put the password on your database.
If you are worrying that someone will steal your database and get the data, In that case I suggest you to add some VBA code in your Access Database.
With that code, You can try to check the location of the database and username of Access and that computer.
If that does not match it means that someone had steal your data and store on some other location.
In that situation, You can fire Delete queries from your VBA code and destroy all the data.
You can perform this operation on opening of database file.
You can create AutoExec macros.
Automate startup events with a macro
Create a macro that runs when you open a database
If you have any questions regarding VBA code in Access then you can try to post it in forum below. Which is a specific forum to handle Access VBA Object Model related issues.
MSDN Access For Developers Forum