1

I have developed a C# project with SQLite3. I need to replace SQLite3 with Berkeley DB.

Is it possible to replace? If yes, what should we follow?

2
  • oracle.com/a/ocom/docs/bdb-sqlite-comparison-wp-176431.pdf provides some guidance. Commented Mar 24, 2022 at 15:49
  • Why in the world would you want to do that? Berkely DB has a zillion different versions with incompatible file formats and is apparently AGPLv3 upstream (your service would have to automatically provide its entire source code, including any and all modifications, to remote users users) with Oracle owning the copyright (meaning they will demand lots of money if they find out you violated the license). Or you could just stick with SQLite, which has been maintaining file compatibility since version 3.0.0 (2004-06-18) and is in the public domain. Commented Feb 21 at 1:21

1 Answer 1

1

There's an easy way and a hard way to replace sqlite3 with BerkeleyDB.

The easy way is to replace the sqlite3 libraries with the sqlite3 wrapper library (part of modern Berkeley DB) that uses BerkeleyDB as the data store engine under a modified sqlite3 (it's exactly a sqlite3 API).

The harder implementation would be to rewrite the SQL methods to use Berkeley DB. Since Berkeley DB is basically a NoSQL! key->value store, you will likely need to think about whether your schema is simple enough to justify the work involved.

Sign up to request clarification or add additional context in comments.

1 Comment

But how can you do this? I read the official documentation and they don't explain how to do this or the steps when you installed SQLite with package nuget into your project and later want to do this change, the "directions" from the official website are not clear at all

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.