Click here to Skip to main content
15,886,578 members
Please Sign up or sign in to vote.
1.16/5 (4 votes)
See more:
I am a desktop apps developer,
I have to create a Multi User Application
Without Hard process to installation at client side
I want to just install a application like portable mode.
So i want a Suggestion for Database for faster
And Multiuser same time.
Please Suggest

What I have tried:

Sqlite,access database tried myself
Posted
Updated 18-Oct-22 23:57pm
Comments
Dave Kreskowiak 18-Oct-22 19:11pm    
Without a server, and a server-based database engine, you don't have a multi-user database.

SQL Server[^] is most likely the best choice.
 
Share this answer
 
Comments
Soft Management 18-Oct-22 14:03pm    
But my clients couldn't Install Sql server properly and it takes times to install it
Richard MacCutchan 18-Oct-22 14:08pm    
Sorry, that is not something we can help with.
OriginalGriff 18-Oct-22 15:20pm    
He's been trying for a couple of days to use a single user Db in multiuser - and doesn't like the answer "for the sake of everybody's sanity, don't do it". :sigh:

I'm guessing he'll go ahead with his plan, and spend the next few years picking up the pieces after it all goes pear shaped. Some people just don't want to listen when they ask a question.
Richard MacCutchan 18-Oct-22 16:28pm    
And I get the impression someone is actually paying him. Well good luck to them all.
OriginalGriff 18-Oct-22 17:35pm    
I do hope not ... :D
Whats wrong with SQLite?
Note1: "SQLite is an open-source, embedded, relational database management system. It is a lightweight database, with zero configuration, no requirements of a server or installation. Despite its simplicity, it is equipped with common functions of database management systems."

Note2: "The fact that the entire database is portable as a single file made migrating content from one system to another easy and fool-proof."

//Edit: Various limitations should be considered.
SQLite Frequently Asked Questions[^]

Perhaps you will also look at:
https://www.g2.com/products/sqlite/competitors/alternatives[^]
 
Share this answer
 
v2
Comments
k5054 18-Oct-22 17:12pm    
SQLite is not a "multi-user" database. The entire database is locked for update. There are many use cases where that is not acceptable. The OP needs to either go with a DB that can do the heavy lifting for them, or will need to "roll your own" data access, which, of course, is far more difficult than plugging in to SQLServer or Postgresql or MySql.
merano99 18-Oct-22 19:04pm    
Thanks for the advice. So sure, various limitations should be considered.
Multiple users would work - but just not well in parallel and I didn't assume "heavy work".
At least SQLite uses reader/writer locks and seems to contain synchronization for multiple processes and is (allegedly) threadsafe. For Windows more restrictions are documented, but usually multiple users don't really work in parallel on a Windows desktop system.
Restrictions are mentioned here:
https://www.sqlite.org/faq.html#q5

The questioner does not tell us whether multiple users actually work in parallel, whether multithreading is necessary, and whether multiple users should be able to write at all. I interpret in the given information that the database does not have to be networkable, at least it is not explicitly required.

If one actually has very high requirements, the effort will be accordingly high.
Soft Management 30-Oct-22 12:40pm    
Right... Already Using Sqlite For Single User Database
I have a library for creating and working with fields in DBF tables. For the windows API, a DLL or object library. There is no SQL-transact capability. It is possible to connect tables via ODBC to MS Access or other SQL systems in order to access tables via SQL-transact.
 
Share this answer
 
Comments
Soft Management 30-Oct-22 12:42pm    
Where I can Get thease Library and Documents For Testing In My Project?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900