views:

202

answers:

2

i have to develop desktop base software in C#.Net which only produces reports and that reports can be export to any format. that software will be dump into CD/DVD and distributed to all clients and they will install it in their PC (Stand Alon PC). and that will be installer, client can install it himself.

My problem is which database i should choose to build it because this software will be installed by third person. so when one install it database should be install itself, all the data should be in imported into database.

2nd i have to send them month wise data (database exported) which then they will copy/past in specific folder and system itself import it. (that given file (data file) should not be open/read other than my develop software.

is it possible if yes then HOW?

please guide me as i am new comer in VS field but i have programming experience more than 8 years in oracle and 3 months in Java.

+3  A: 

This isn't impossible to do.

It sounds like you're wanting users applications to simply interact with a DB that you host. That shouldn't be hard, as there are ADO.net connectors for just about all the popular DBs out there.

I'd suggest simply going with MySQL, ADO.Net connector, and use datasets in your program to read and edit data.

All the client applications would just have to connect to your IP address where you're hosting the central DB and they'd instantly have access to all of that data.

If you're not very experienced in application development, it may be worth it for you or your company to contract a worker to complete this application.

Update

In regards to the update about your client requirements, it sounds like instead you should try connecting to an SQL file that is stored on the client machine. This is EXTREMELY simple to do, and MSVC# has the ADO connector preinstalled. Then, you would have to write another part of the app to perform "updates" every month. You said you need to deliver new data to the customers once a month. Just make the program (when they start it up) check the date, and if required, connect to an FTP site and just download the file to the client machine.

Update II

Ah, ok. That makes things different yet again. This is easier, though. You can make your application read a Database file directly from a CD, which you can mail to people. You should use some sort of PKI style encryption if it needs to be secure. However, due to the nature of the security requirements, I would STRONGLY suggest you contract to someone with experience with encryption, because if you implement something the wrong way, you can expose the data which would be bad :)

Crowe T. Robot
thanks, i have develop software in .net but the problem is client requirement of database which should not be read by any other software other than mine.and 2nd is that they want built-in database means they do not want to use oracle, sql server, sybase and DB2.
Haid
and their data volume is huge also like 2M records almost.
Haid
this is not a case. i said stand alone PC means laptop/workstation with no internet connection. because this is very crucial data / highly confidential data that is why they do not want to use internet in which that software installed. monthly copy of data will be delivered manually.
Haid
A: 

I would use an encrypted SQLite file.

Shawn Simon