   Access Database Licenses
  I'm writing a program that's storing information in an Access database which will be shared amongst approximately 100 users. I'm using the Access database, but the only way the users will access the database is through the application I'm writing in C#.My question is, do I need to have a license for MS Access for each of those users? I'm thinking that since I have a license for MS Access (which I used only to create the DB) and a license for Visual Studio Pro that I can create and distribute the application without the end user having to purchase any licenses for anything other than my software. Am I correct in this?I've gone through the MS License agreement and looked all over online but there's so much double speak, legal-ese and just generally confusing terminology in MS's info that I'm even more confused about it now than I was before I started looking at their licenses.If what I'm wanting to do is a violation of MS's licensing, could I use OpenOffice's database for the same purpose without issue?   
  You don't need Access to access (!) an Access database, only a driver. Microsoft make the JET driver (IIRC) freely available in the same way you get a driver for MySQL, SQLServer, Oracle, etc.You are safe in short, unless your users decide to open the DB in Access on their PC. But, is the DB even stored on their PC, or is it a shared DB stored on network/server?   ;  Thanks for the info!The db will be on a network and will only be accessed through my program so it sounds like the licensing won't be an issue.;  I'd recommend looking into Microsoft's SQL Server 2008 Express edition   ;  I've actually written a few databases using SQL databases and very much prefer that to what I'm doing on this project. But this project is a bit on the wacky side. The company I'm working for right now has an IT department that setup a server with many TBs of storage, but they won't let us actually run anything on the server. We can only use the disk space for storage of files and such. I'm pretty new there so I don't know the reasoning behind that. I suggested using a stand alone PC to run the database, but again, IT has an issue with us adding any systems to the network and are refusing to activate a port on the switch for this project. So I'm trying to find a way to work around that by using an Access database to store the different configurations that will be accessable to the people using my program. My hope is that once management sees how much of a help this application is to everyone working there, that they'll lay some smackdown on the IT department and make them open some stuff up for us to use. But they'll need to see the program operating before they mix it up with IT, and since I'm new there and only a hobby-ist programmer, I have to prove I can do what I'm saying I can before they'll believe me.   ;  Well, SQL Express is a designed to be a desktop engine - so you'd typically install it on the system you've got the application on... But from how it sounds, you'd probably meet resistance with that as well - I see why you've gone for Access :)   ;  evolutional: I think you're thinking of SQL Server Compact, not SQL Server Express. In particular, the SQL Server Express version runs as a service out-of-process from the main applicaication, and it also requires local access to the database files (that is, you can't store the database file on a network share like JimboC is trying to do).However, SQL Server Compact is probably a much better solution than Access in this case. It does allow you to store the database file on a network share, it also runs in-process just like the Jet data provider. It's also much smaller (1.8MB or so, compared to 50-something MB for SQL Server Express). But it also uses (a subset of) T-SQL just like SQL Server, which means if you ever do get IT to install an instance of "real" SQL Server, it'll be easier to port your application.You also don't have the "iffy" licensing questions that you do with using an Access database. You might be OK with Access + Jet, but I personally wouldn't risk it. SQL Server Compact is a much better choice from a licensing point of view, in my opinion (but IANAL).   ;  It all depends on the use of the database - is the database shared between multiple users at once? So user A makes a change and user B can see it, or is the database intended as a read-only or standalone data store that gets shipped with the app and doesn't interact with anyone other than the user who installed the app?The main reason I suggested Express was because the application was shared between 100 users - it seemed to me that 100 people would be using the data together and sharing updates - if so I'd say express was a better option than compact (as it seems a full SQL Standard Edition is out of the equation).SQL Server Compact is, as you say, ideal for single applications and situations where you want an in-process database. A typical usage pattern would be to store a local copy of the data in SS Compact Edition on a local machine and maybe sync with a centralised Express/Standard instance for updates if required. Be aware of the limitations of compact edition - you don't get stored procedures and some of the SQL Server datatypes/features that people commonly get used to.   ;Quote:Original post by CodekaYou also don't have the "iffy" licensing questions that you do with using an Access database. You might be OK with Access + Jet, but I personally wouldn't risk it. SQL Server Compact is a much better choice from a licensing point of view, in my opinion (but IANAL).I don't see how interacting with an Access DB using a standard DB driver is different to interacting with an Oracle DB using their driver. The license is on MS' Access software, used to make editing the DB easy. If the license is on the .mdb file, then by that logic you can't open a MSWord file with OpenOffice.   