Member Avatar

Hello people, here is a question related to sharing of databse between two applications.

I am developing an application which has two parts:

1) Client Side. (Student)
2) Server Side. (Faculty, teacher)

What I want to accomplish is that if a teacher creates question paper the student should be able to give exam based on that question paper.
So, the initial idea that i came up with is sharing a common database which will be accessed by both teachers (for making question paper) and students (for giving exams).

I solicit your precious advice on this project.
Any Suggestions that might help in making this a success are welcomed.

What have you done so far? We are not going to design it for you but if you have specific questions perhaps we can answer them.

Member Avatar

@Reverend Jim: i dont expect you to design it for me .
My question is How can we share a single database which is on single machine and can be accessed by client applications on may computers all connected to server in LAN .


Member Avatar

So far I have created databse and forms .

A database can be accessed by more than one person (or process) at a time. How you set up your access will depend on whether more than one person at a time will be modifying the same areas. I can't offer any suggestions without knowing how the database will be used.

Member Avatar

@Reverend Jim:
As I am developing an application which will have centralized databse which will be accessed by both teachers and students form different computers connected to server in LAN.

That is about as useful as saying "I want to write a program that does stuff. Any suggestions?". I don't mean to be rude but how you design will depend on how the database will be accessed, as I stated earlier, and you didn't provide any further information.


The answer to the question you asked is yes of course, the world is littered with client server applications using a common database. (Including this very web site.)

The answer to your question I suspect you are actually asking depends on the database server / program you are using.

The database should be able to support concurrent access/users.

For instance, Microsoft Access is a database but Microsoft themselves do not recommend it for concurrent access (although I have observed client server systems using it but they became unstable after heavy use). SQL server is a database server that Microsoft does recommend for concurrent access (Including SQL Server Express Edition which is free).

If you don't fancy Microsoft then MySQL is also free and very popular and supports concurrent access.

Member Avatar

@Reverend Jim: You Dont mean to be rude But you know you are SICK TO THE CORE and BORN RUDE ....LOL !!

Perhaps a tad blunt. What I am trying to get across is that if only one person will be updating the database then you don't have to worry about record or table locking to prevent an attempt for two people to update at the same time.

Member Avatar

@Reverend Jim: But as I have already mentioned that Database will be shared between multiple computers with different users (students) all at once.

I can't help you because you won't provide any details inspite of several attempts to get you to do so. Perhaps someone else will have better luck.

until we know what the database structure is like, we really cannot help as "Reverend Jim" has been trying to say, if you have more that 1 client accessing a certain region of the database (Example: teacher - edit student 1 & student views student 1) at the same time the data will not be the same or equal as changes are being made to thus row in a table.

@Rahul47: G_Waddell already provided some info about two commonly used databases, you just appeared to have ignored that advise. In addition to VB.NET you will have to learn how to communicate with the databases, the language is SQL (Structured Query Language). There are a number of online tutorials to help you with that.

If you want to use MySQL (recommended because it is very popular and it is free) here is a tutorial that uses to create/update files on mysql database. It's a pretty good tutorial, I just finished it myself last week.

For the sake of completeness, Microsoft SQL is also free unless you are planning databases in excess of (I think the limit is) 4 gig. And you can also download the SQL Server Management Console for free which makes setting up and administering the databases much easier.