-2

I'm writing a movie/music cataloging program in java where you can search a database of indexed media, and it will tell you the location and other information about the media (actor/director/cover shot/etc). I have been using MySQL for the database up to this point.

My plan is that the user can just start the program, tell it the directory to scan, then it will immediately start indexing and putting information into the database.

Is there some database solution that will save the enduser having the complication of having to set up their own MySQL database? ie a database for just the program that I am writing, that possibly stays in the one directory? Bonus points if it works across multiple platforms (linux and windows). I would ideally like the operation to be transparent to the user, no setup required.

edit: Since I am not supposed to ask for a software recommendation (even though that's what I really want :), maybe what would help is a succinct way to describe the attributes of the type of database that I need, which I can use to google for solutions myself? Or a link to a site with comparisons of different database solutions that I can use (wikipedia)?

localhost
  • 1,253
  • 4
  • 18
  • 29
  • "Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Anubian Noob May 27 '14 at 00:10
  • And that is what type of application? Web, desktop? – Branislav Lazic May 27 '14 at 00:10
  • @AnubianNoob I have tried MySQL, and the problem is that the enduser is not necessarily capable of installing MySQL, I need something that is able to be transparent to the enduser. – localhost May 27 '14 at 00:13
  • @brano It is a desktop application. – localhost May 27 '14 at 00:13
  • possible duplicate of [File based database in Java](http://stackoverflow.com/questions/3575451/file-based-database-in-java) – Raedwald May 27 '14 at 22:41
  • Possible duplicate of http://stackoverflow.com/questions/6523845/java-reading-and-writing-to-a-local-database – Raedwald May 27 '14 at 22:42
  • Possible duplicate of http://stackoverflow.com/questions/4583237/store-data-between-program-runs-java – Raedwald May 27 '14 at 22:45
  • Wow this question really is a duplicate three times over! Is the protocol in this case for me to delete the question or just continue to watch the downvoting occur? – localhost May 28 '14 at 02:46

1 Answers1

2

Yes there is a solution. You could use Embedded Derby flat-file database. Database will be created if it doesn't exist. You could also implement logic to create tables if they don't exist. It also works across multiple platforms.

Branislav Lazic
  • 14,388
  • 8
  • 60
  • 85