3

How can I find out database type in order to examine data when all I have is the database. By database I mean the database folder under program root folder with bunch of files around database.db file?

Application using this database is running on Windows XP OS and is probably built on .NET technology stack.

  • you are probably better off looking at the program than the database files. any file type can use the .db extension, and the database format may even be custom. That said, attempting to load copies of the file with common DBMS's like sqllite or postgre may work for you. I'd start with SQLLite, as many people use .db extensions with it. if you have a sqllite executable in the program directory, that would be a dead giveaway. – Frank Thomas Jun 1 '15 at 14:21
  • @Frank yes, that's a smart thing to do. But is there a way to find this out with no database editors by using just some information like you said executables, installed programs and stuff like that? – Miki Jun 1 '15 at 14:28
  • I mean - to use database file you need to have DB server or something like? – Miki Jun 1 '15 at 14:29
  • not with SQLLite. its just a program, and usually ships with whatever program you are using, since its just a tiny executable. It loads the DB file at start, and then you can query it while the client program is running. Also you can look for libraries that indicate what DBMS is being used. in a windows program, if the exe had a lib right next to it called Oracle.DataAccess.dll, then I would know that its a ,net program that hits oracle. if you can find a connection string, you can generally find out what type of DBMS it is for, etc. – Frank Thomas Jun 1 '15 at 14:32
  • as for file decomposition, you would need to learn the format for the differant DBMSs. here is the format for the SQLLite db file: sqlite.org/fileformat.html – Frank Thomas Jun 1 '15 at 14:34
6

You could open that file with some binary/hex editor, and than try to investigate wich DB type is it. Google litle bit around, start with list of file signature, and than see some more specific details for DB you usualy bump into.

0

You (and we) will need more information. You have the information in front of you, so it'll be easier for you to do this.

.db files could be from MSAccess, though if you're on a Linux system that would mean it probably wasn't an Access file.

Corel Paradox also saves .db files, as do many mobile devices. It could be an encrypted database file, in which case have fun.

You may try opening the file using any of the previously mentioned programs, preferably making a backup copy of the file first (obviously). You may also try opening the files with the SQLite Manager (http://www.sqlabs.com/sqlitemanager.php). I've used the SQLite for dealing with issues with iOS issues, but it's supposed to work with any sqlite databases.

  • @m2m thanks, but I don't have more information in front of me. I would give it if I could. Recently I was asked to check is there a way to create backup to the program built for specific audience and with small amount of technical details. I'll update the question with anything I know, but really question should be general from my point of view. – Miki Jun 1 '15 at 14:40
  • If you're just looking to back the system up, and you're reasonably certain there is no encryption, you should be able to simply copy/paste the .db file to the backup target. – music2myear Jun 1 '15 at 14:47
  • That was my recommendation to the person that asked me in a first place. But why would this be impossible if encryption is used? – Miki Jun 1 '15 at 14:53
  • 1
    @Miki, because the data would be scrambled, and without the keys, you could not load the file even if you correctly identified the DBMS that created/used the file. – Frank Thomas Jun 1 '15 at 16:06
  • @Miki - If the database is encrypted the resulting backup would only contain encrypted data. – Ramhound Jun 1 '15 at 16:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.