That question comes up a lot actually - at OOoForum at the Community Forum on the [EMAIL PROTECTED] mailing list.

It came up on the mailing list again today. As usual a helpful person was reasonably quick to answer NO and I understand the reason for that of course. But for a while now I have really wanted to explore the possibility of a more expansive answer. So today I took a stab at it. I would like to attach a copy of the question, the first response and my reply here - I would like to get opinions on
- did I lie?
- did I get some of it wrong?
- can it be molded with some help into a page on the wiki maybe.

So here is the exchange - I hope you folks will be willing to tear it apart where it needs to be torn apart and help me focus it where it can use that... I left all my typos in...:>(

Dan wrote:
On Wednesday 30 January 2008 23:47:43 [EMAIL PROTECTED] wrote:
Hi,
Can Open Office Base operate in a multi user environment like Microsoft
Access? And if so, what is the maximum or recommended total number of
simultaneous use?
Thank You.

Regards,
Kelvin Teoh
[This e-mail is confidential and may also be privileged. If you are not the intended recipient, please delete it and notify us immediately; you should not copy or use it for any purpose, nor disclose its contents to any other
person. Thank you.]

Presently, more than one person can view Base, but only one can make any changes. The first person to access the file causes a lock file to be created.


Hi Kelvin,

First - in one way, or more precisely in one context, Dan is correct. That particular context is when using Base to create an all inclusive file. One the includes the forms, queries, reports and the actual database table storage in a single file. What I would like you to understand is that this is not the only context in which Base can be utilized.

Before I talk about Base in a multi-user environment though, let's look for a minute at MS Access in a multi-user environment. MS Access can also be utilized as a monolithic file containing the forms, queries, reports, vba code and database tables. It is possible to take that file and put it onto a shared drive and map other PC's such that they see this file and in so doing have multiple users share access to that database. But this places a large burden on the network and on the computer hosting the file. In this configuration the number of actual users that you can give shared read/write simultaneous access to the datebase application is severely limited.

Indeed that is not considered the proper way to deploy a multi-user MS Acccess application. Rather it is routine and common to split the front end ( Forms, Queries, Reports and VBA code) from the back end ( the actual data table storage) by physically creating two separate files. Often then this produces a *.mdb ( or *.accdb) file, "the back end", that is then stored on the shared disk and one or more *.mde files ( the front end ). Ideally for performance purposes and to increase the number of simultaneous users that can be supported a separate *.mde file placed on each PC that will be using the database.

Microsoft has built a number of tools just to help you do this and devote a good deal of space on their MS Access support sites to explaining how to use them and how to deploy in this fashion. Along with these tools Microsoft also supplies the tools needed to upsize your database to a SQL Server for your backend or to use the *.mdb ( *.accdb ) on the shared directory to 'link through' to a SQL Server for the actual data. Again Microsoft goes into how to do this in great detail on their website and in their training materials. Recommending that you go to this "server" based data store when the number of users exceeds a few dozen or the data sets become large.

So - now let's look at Base. OpenOffie.org Base is fundamentally and architecturally different from MS Access in regards to the database engine used. MS Access pre 2007 always has the MS Jet database engine involved, even if you are 'linking through' to a SQL Server database. That is the old *.mdb file architcture. In the latest versions of MS Access using the *.accdb file type the engine is no longer MS Jet but still it is a single engine that so long as a accdb file is used is being utilized.

Base on the other hand is, the ODB file in other words, to directly employ a connection to a database of your choice. As a convenience almost one of these database engines is the HSQLdb RDBMS distributed with OpenOffice.org and capable of storing its tables embedded in the ODB file. But fundamentally Base is treating this as just another option for a database engine - so you could just as easily be using the HSQLdb database engine running in disk file mode, with the data stored in separate files in a directory, or running as a network accessible shared 'server'. You can also use it to connect to any JDBC or ODBC or ADO capable database engine.

When you use Base then to 'connect' to one of these network accessible database engines ( which could be on your localhost actually ) the ODB file is in reality filling the same role as the MDE file is in the MS Access deployment model. In other words it allows you to store the Forms, Queries, Reports and beginning with OpenOffice.or 3.0 script libraries directly within the file. With the current OpenOffice.org version ( and 3.0 still if you like ) you would store your scripts in separate, sharable library files.

In this multi user deployment of Base then you would want to place a copy of this ODB file on each PC that would be using the database application. Again this is analogous to the recommended deployment scheme for MS Access and again this also offers the ability then for each user to create their own local copies of queries and reports along with the supplied pre-built forms, queries and reports.

There is a one difference however - and it is that when that *.mdb or *.accb file on the file share is used by the different *.mde files there is an intermediary database engine being used ( MS Jet for instance ) but when you deploy ODB files on multiple machines connecting to a networked database server the connection is direct - no middle step for the data to take.

The next difference is one or cost of course. In the case of MS Access and say 5-20 users you have the cost of at least one full MS Access license to develop your database and then perhaps additional cost for tools to help with the de-coupling of the front end from the back and creation of the user PC copies of the MDE files. Get up to the range where you really want that SQL Server database and you have the cost of the database and the cost of a MS Windows server to run it on. ( Let's assume you already have one of those though )

Look at OpenOffice.org and Base. 5, 10 or 100 users it doesn't really matter. MySQL or PostgreSQL are really good choices for your shared database server and your cost on that software is NILL - NADA - Nothing. Remember that MS Windows server we said you already have - guess what - either of those databases run just fine on that platform.

But what if you don't have a free MS Windows server ready to go - what if you need to setup something to run this nifty database application on - well, if you had to buy the required hardware for a decent Window server and the OS - you are talking a reasonable chunk of change - oh it may not break the bank, but it isn't pocket change either. On the other hand MySQL or PostgreSQL are quite happy with Linux and the cost of setting up a Linux server capable of servicing even 50 - 100 database users is going to be a whole lot less, and before you start thinking..uh oh - I can't put that together - trust me setting up a Ubuntu server and either of those database servers these days does not require you to the wining contestant on 'Are you smater then a fifth grader?' *smile* ( for the non-US folk, that is a current quiz show on the Tellie...quite amusing at times actually - adults go head to head with a group of 5th graders answering questions from current text books...guess who wins most often )

But heck maybe you need to go big - well, grab yourself a machine with 2 dual core processors, 4 gig's of RAM and a couple of 250 gig drives ( go look the cost of that hardware configuration up these days - it is amazingly cheap actually ), a free copy of OpenSolaris 10 and the free "CoolStack" SAMP stack or PostgreSQL that came with the OS and my friend you can support quite a sizable work group. OK for this one you are going to be spending sometime with the manuals but not as much as you may think and there are lots of guys available to do the setup for a reasonable fee.

So - Base in a multi-user environment? Yes - it isn't common yet and I wont snow you there are gaps in the feature set compared to MS Access still but the application is a whole lot further along today then it was when it debuted with OpenOffice.org 2.0 and with the 3.0 code line and available extensions such as the SUN Report Builder I believe it will not be too long before there is a very simple and straight foward anwer to that question - simply - "Yeah you can do that" - the fact is the answer is - Yeah you can do that, today but you will be getting your hands a little dirty...

I hope that answered some of the questions you had and if it raised more don't hesitate to toss them out - this is a discussion worth having and about time to have it I think.

Till then;

Drew




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to