[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


Distributable database applications?

Posted on 2006-04-10
Medium Priority
Last Modified: 2012-06-27
Hi, I am an amatuer programmer that would like to develop some desk-top data base applications and distribute them (for the foreseeable future for free) to other users.

So far, I have spent a lot of time developing distributable databases with Access 2002/VBA (with the runtime license provided under XP Office Developer).  I know what I'm doing with Access 2002/VBA, but the problems of distributing run-time versions of Access for these applications (ie, conflicts with versions of Access on end-users' machines) have been a big disincentive for installation of these applications.   So I'd like to start over with something that end-users can install with fewer problems/issues.  I have been considering three alternate paths and would really appreciate input from the experts:

1)  I could continue to work with Access/VBA, if the latest version of run-time Access is easier for users to install, but I doubt this is the case.

2)  I could use VB .NET or VB 2005 to develop a true stand-alone application, but where would such an application derive its database functionality?  Would I still have to distribute run-time Access with it for it to run, or do VB .NET/VB 2005 have some kind of internal database functionality?  

3)  I would also like to learn Java and have considered using Java with MySQL.  This sounds rather clunky, and it seems like users would have to install two applications (my Java app and MySQL), which would be a drawback.

Thanks in advance for your feedback; be prepared for a couple of follow-up questions!

Question by:tmreiter

Accepted Solution

gabeso earned 750 total points
ID: 16420966
If you compile access to an MDE is that not redistributable?

There are free microsoft databases: SQL Express/MSDE - you can use these in an application.

Why don't you get VB.Net Express and SQL Express from Microsoft - these are free and you can build applications with them (at the moment!).

Remember that there is a huge difference between the single-user application with a local database and the 'enterprise' application using a server-based database in terms of deployment and support. So you need to think about exactly what it is you are doing.

I must also suggest SQLite which is fast, free and really superb - its a single file relational database: You can interface to it from anything.

Author Comment

ID: 16421058
If you compile Access to an MDE, it is distributable but (as far as I know) the users need to have Access to run it?

All of my applications will be single-user/local relational database, so many programs (MySQL, etc.) will be overkill.  That said, the database needs to have a pretty good user-interface.

When you say that I can "build applications" with VB. Net express and SQL Express--the one thing I really don't understand is how to create relational database functionality with a database application?  That is, how do I build a relational database with VB. Net without using Access.  I've looked at quite a few books on VB, etc.,  but none seem to address this rather niche topic.  Sorry for being dense about this, but I don't get it...

I will look at your suggestions--they sound interesting, but I am still a bit confused.

LVL 19

Expert Comment

ID: 16421529
you could use firebird (free & open-source), the embedded version which is just 1 .dll, as your database engine. primary website is www.ibphoenix.com
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 16421690
I've looked at sqlite and firebird, but have three issues with them:  1)  I don't know C or C++, and if I've got to learn a new language, I'd prefer it to be Java or VB .NET (because of other things I wouldn't mind doing with them); 2)  my data bases are small but I do alot of SQL manipulation (outer joins, subqueries, calculations), and (based on my very limited knowledge of them) it seems like some of the open-source DBs have quirky SQL limitations; and 3) given my inexperience, I need something that is as fully-documented as possible, and I'm concerned that the documentation on most of the open source stuff is either rather thin or aimed at more experienced programmers.  

I actually have VB .NET but am not quite sure what to do with it...
LVL 44

Expert Comment

ID: 16422521
>>>"I could use VB .NET or VB 2005 to develop a true stand-alone application, but where would such an application derive its database functionality?  Would I still have to distribute run-time Access with it for it to run, or do VB .NET/VB 2005 have some kind of internal database functionality?  "  your VB or VB.net application could continue to interact with the Access MDB - and this would NOT require any version of 'real' Access to be installed - VB has the necessary datbase drivers built in, to be able to open and interact with the MDB/MDE as a pure DataStore.

You could also take a look as SQL Server 2005 Express Edition - which is free!! and is 100% compatible with SQL Server and VB.NET.  SQL Server 2005 EE supports Stored Procedures (which are not possible in Access)



Expert Comment

ID: 16427922
The easiest and most straighforward thing for you to do is use VB.Net and SQL Express- at the moment.

This all depends on your skill-set - the more technical you become the more you can start hacking around with API's for non-microsoft databases. If you aren't that confident then stick with Microsoft tools and applications.

Author Comment

ID: 16429332
Thanks, based on your previous comments, I think you're right.  One last question:  SQL Express certainly sounds like part of the answer, but is there any particular reason to choose VB .NET (2002) over VB Express 2005?  I've got the full-blown VB.NET 2002 but it sounds like VB Express 2005 is designed to work with SQL Express and its free, so I'm leaning toward VB Express 2005.  Am I missing something obvious?



Expert Comment

ID: 16430677
The .Net Environment has moved on to 2.0 - so working with VB Express 2005 means that you are working with .Net 2.0

VB.Net 2002 is .Net 1.0 which was superseded by .Net 1.1 (VB.Net 2003)! So those tools work with older .Net environments.

In general, try to work with the latest tools.

Good luck.

Author Comment

ID: 16432216
OK, thanks for your help...I'll hit the books and see how it works out.


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
Suggested Courses

873 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question