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]