The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.
I'm writing a series of programs in VB.net that do design calculations for various forms of heat exchangers. There is a lot of property calculations that are done in common between many of the programs. Specifically some fluid property calcs(viscosity, density) and calculations of the materials the tube is the heat exchanger(stress v temp curves). The goal here is to be able to add a new material or fluid to in a single location, and have it instantly accessible to all instances of the various programs. Is some sort of database (SQL) the best way to go about this?
If you need to manage concurrent access to the data, particularly concurrent updates to the data? SQL is absolutely a reasonable solution, provided you can structure your data well, and you implement it to maintain data integrity (via ACID, etc)
SQL has the added bonus that you don't need to deal with network file locking issues, etc.
That said, a dependency on sql is much more administrative overhead, and can get fairly heavy, particularly if you use some of the entity frameworks available (ado.net EF for instance)
If the apps are just reading the new liquids and stuff and not ever writing to the shared data, and all the updates to the shared data are being done by one process/person, consider just hosting everything you need in an XML file or something, and have the apps download it.
If the instances of the programs want to update the data, then a DB is a reasonable solution.
Again, people here are advocating SQL if you need to do updates to the file from these other machines.
If you just need to read data, there's no reason to add the overhead of SQL.
Posts
:tc&dr; sql is the best and easiest choice
SQL has the added bonus that you don't need to deal with network file locking issues, etc.
That said, a dependency on sql is much more administrative overhead, and can get fairly heavy, particularly if you use some of the entity frameworks available (ado.net EF for instance)
If the instances of the programs want to update the data, then a DB is a reasonable solution.
http://www.microsoft.com/sqlserver/2008/en/us/express.aspx
If you just need to read data, there's no reason to add the overhead of SQL.