rick said:
Thank you for your reply, Albert.
I just checked the server and there are 3 users connected to the share yet
there is no service or processes running Access.
A file is a file is a file. You talking about a word file, or a access
database file on the server. there is no process running on the server.
You are simply opening a file. When you open a power-point file sitting on
the server, the server does not know, or care that it is power point,and
PowerPoint is not even installed on the server.
So, in effect, each User does get a 'running copy' of the FE on their
client.
Sure, you simply pulling that file from the server. However, you not telling
me that your pulling word.exe, or ms-access.exe form that server are you?
What is it about the last 20 years of history of how you been deploying
commercial applications that you missed here?
This way I only have to create and maintain one FE. And it has been
running this way for the past 3 years with NO issues.
If you had no issues, then fine. There was a time when some doctors used to
have a cigarette hanging out of their mouth when they were working on open
patients in the operating room. I am sure a lot of these doctors said that
these patients come out just fine, and they had no problems.
However, the problem is sometimes you will have problems. There's not much I
can do if your not experiencing any problems. Perhaps with just two or three
users, then that's fairly light usage, and you can get away with it.
I mean if you don't change your car oil on a regular basis, that car is not
likely going to break tomorrow. However, it still really good advice to
change you oil on a regular basis.
If your setup works fine the way it is, then you can attempt try your
relinking idea, but I would not risk that kind of setup. I guess you can
give it a try and see how well it works, but you'll not see my stamp of
approval on this.
I agree, if this were the case wherein each was using the same copy of the
code there would be a huge mess and the FE would come screaming to a halt.
Actually when you use most windows products, they are written with what is
called re-entrant code in mind. This is why you can launch twenty browsers,
but launching twenty different application takes up so much more memory.
(the reason for this is actually will only one copy of that browser .exe
code is actually in ram...only the working memory for variables is swapped).
word.exe also works this way.
For sure the copy of the code is pulled from the server and loaded into ram.
However, while ms-access.exe is written with re-entrant code in mind, mde
files are not. Certain aspects such as form filters, and any use of a local
tables is going to be problematic with multiple users use the same file.
they are simply not designed with multiple users opening the same code base.
I have a policy that all company data, from Users Data Files to databases,
are to be maintained on the Small Business Server which gets backed up
every evening.
Right, but you are failing to make a distinction between a users data, and
users programs. That front end is a program you running...not data.
Being a SBS there can only be 2 RDC connections to the server and these
must be Administrators.
This made it necessary to get another server and the full-blown Win2003
Server to allow non-admin users the ability to run programs against the
databases. I wish to use the same approach as outlined above but with one
twist - multiple BE's, all having an identical schema, just the data is
different. I would place the Access run-time on the App Server. When the
User logs on they get a private workspace where they will get their own
copy of the FE loaded from the SBS then attach to their BE (through
startup code).
When you run MS access with multiple users on terminal services as above, it
is still recommended that the logged on user gets their own separate copy of
the front end. This is not much different when you have multiple computers
hitting the back end, they will always get their own copy of the front end.
As I mentioned MS access.exe is written as re-entrant code, and thus you can
have one copy of the runtime installed on terminal server, and then have
twenty different users to log into terminal server, and they can all use
that one copy of ms-access. (and you'll not have a problem). However, you
still want to avoid multiple users opening the same front end, and terminal
server does NOT change this recommend approach.
As I said if you have it working fine for a few years with two or three
users in the same front end, then try it on terminal services and see what
kind of stability you get. If you only have 2, or 3 users...then you might
well get away with this approach...