Citrix. Access 97. Front End Corruption.

G

Guest

We are migrating from Novell to Citrix.
In Novell - an Access 97 database is on a network drive and is working fine.
It is already set up for a front end/back end.
There are about 10 users on it at any one time.
When users open up the database in Citrix, the front end gets corrupt a
couple of times a day (erratically).
We have had to delay their citrix migration for this database until we can
fix this.
Our plan is to upgrade to Access XP (despite comments that this runs more
slowly) because access 97 is no longer supported.
We also planned to move the back end to SQL, although this will take a
couple of weeks of full time development work due to problems with time
fields and and true/false fields and identity fields and other problems.
Question:
Should we also give each user their own copy of the front end as recommended?
I can't understand how the front end gets corrupted with multiple users in
Citrix when it is working fine in Novell.
We would have to make a subdirectory for each user on a network drive, and
this is a 100MB file (x 30+ users) equals a lot of disk space.
Also maintenance (users coming and going, version control etc.) would be yet
another task for our support staff. I have seen the fe-updater app, but
haven't tested it. In Citrix - who would need to run it? The Citrix admin or
the database admin?

Would adding user-level-security on the database reduce the incidents of FE
corruption. We have another database with user level security (but less
users) and this doesn't have the same corruption problems.

Thanx heaps in advance.
Simon Westenra
Capital and Coast District Health, Wellington, New Zealand
 
A

Albert D. Kallal

We are migrating from Novell to Citrix.
In Novell - an Access 97 database is on a network drive and is working
fine.
It is already set up for a front end/back end.
There are about 10 users on it at any one time.

Excellent. The above sounds like you had a good setup, and DID NOT allow
multiple users into the same front end....

When users open up the database in Citrix, the front end gets corrupt a
couple of times a day (erratically).

Ah, now you moved everything to Ctrix..did you continue to give each user a
SEPARATE copy of the front end? The fact of using Citrix DOES NOT change
this setup. You must continue to give each user a separate copy of the front
end. Often, when migration to Ctrirx, the people setting this up don't
realize that you must continue to give each user a copy of the front end.
The fact that all users are now on the same box does NOT change this
requirement...
Should we also give each user their own copy of the front end as
recommended?

Yes...that is exactly what you must do...
I can't understand how the front end gets corrupted with multiple users in
Citrix when it is working fine in Novell.

Well, in the Novel setup, you gave each user a separate copy of the front
end....now, you are allowing multiple users into it...
We would have to make a subdirectory for each user on a network drive, and
this is a 100MB file (x 30+ users) equals a lot of disk space.

You mean the Front end is a 100 megs? (really?). Also, is this FE a mde..(it
helps to be mde also).
Also maintenance (users coming and going, version control etc.) would be
yet
another task for our support staff. I have seen the fe-updater app, but
haven't tested it. In Citrix - who would need to run it? The Citrix admin
or
the database admin?

Tony's FE is actually setup and designed to work with Ctrix. The admin odes
not need to run it. Users run the program..and if they need a update..it
does it for them...
Would adding user-level-security on the database reduce the incidents of
FE
corruption. We have another database with user level security (but less
users) and this doesn't have the same corruption problems.

No, I can't see any reason why user level security should make a
difference...
 
G

Guest

Thanks for your comments Albert.
See below for my further comments.

Albert D. Kallal said:
Excellent. The above sounds like you had a good setup, and DID NOT allow
multiple users into the same front end....

Actualy we currently (NOVELL) are using 1 Front end and one back end. All
users use the same front end.
Ah, now you moved everything to Ctrix..did you continue to give each user a
SEPARATE copy of the front end? The fact of using Citrix DOES NOT change
this setup. You must continue to give each user a separate copy of the front
end. Often, when migration to Ctrirx, the people setting this up don't
realize that you must continue to give each user a copy of the front end.
The fact that all users are now on the same box does NOT change this
requirement...


Yes...that is exactly what you must do...

OK.
We hadn't done this previously and it has been running for 2 years like this
in Novell.
We'll arrange to put a copy of the front end on to each users home directory
(H:) or on to a users directory on the Access XP Special Apps server.
Well, in the Novel setup, you gave each user a separate copy of the front
end....now, you are allowing multiple users into it...


You mean the Front end is a 100 megs? (really?). Also, is this FE a mde..(it
helps to be mde also).

Yep. The front end has a couple of DLL references, and is quite large.
It has 140 reports and 133 forms, some are very complicated with multiple
tabs and forms within forms.
We haven't made it into an MDE yet, so we can do this.
When it is compressed the size gets down to 60 MB.
Tony's FE is actually setup and designed to work with Ctrix. The admin odes
not need to run it. Users run the program..and if they need a update..it
does it for them...

That sounds great.
As the main developer of it is not a Citrix admin user.
No, I can't see any reason why user level security should make a
difference...

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
(e-mail address removed)
http://www.attcanada.net/~kallal.msn

Thanks for your quick feedback.
Simon
 
A

Albert D. Kallal

It has 140 reports and 133 forms, some are very complicated with multiple
tabs and forms within forms.
We haven't made it into an MDE yet, so we can do this.
When it is compressed the size gets down to 60 MB.

Hum, I have:
number of Forms = 162
number of Reports = 73
number of Queries = 181

The above application as a mdb is only about 7.5 megs in size. As a mde it
is less then 6 megs in size.

I suspect y ou are using graphics backgrounds..and they cause a bloat in
size. For this reason I avoid them..and the huge overhead in the size
icrease that graphics can cause....
 
A

Arvin Meyer

As with all Access apps, you need a separate Frent-end for RACH user. The
fact that you got away without that design in Novell is pure luck. You could
have jusr as easily corrupted the database beyond the abilities of standard
repair techniques.

For all Terminal Services, including Citrix, build a new folder for each
user and add the database front-end to that folder.
--
Arvin Meyer, MCP, MVP
Microsoft Access
Free Access downloads:
http://www.datastrat.com
http://www.mvps.org/access
 
G

Guest

Thank for your comments.

We have yet to change the OpLocks setting on our Citrix Special apps
servers. We have a server set up for Access 97 and another for Access XP
(Win2000)

1) The settings I have to make to the registry - I've found...
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"EnableOplocks"=dword:0
"CachedOpenLimit"=dword:0
"EnableOplockForceClose"=dword:01

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters]
"UseOpportunisticLocking"=dword:0
"UtilizeNtCaching"=dword:0
"UseLockReadUnlock"=dword:0

They both seem to be for the NT family OS (NT, 2000, XP, 2k3).
Which one do I used?

What about Read Caching?
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\VREDIR\]
DiscardCacheOnOpen REG_BINARY 1


2) Do I disable OpLocks on:
a) only on the Special Apps Server running Access? (Win2000)
b) on the server where the users local directories are stored and where the
front end will be stored(Win2000)
c) each Citrix server in our server farm - where users log connect to
Citrix initially? (Win2000)
d) the server where the application is stored - a database server where
databases are stored (which happens to be a Novell Netware server at the
moment).
e) some combination of the above.

3) What else might this affect? Has anyone else happened to notice any side
effects on other apps they have run. I'm guessing that it can slow down
Access databases that do a lot of processing?
Are only Access applications affected, or can this affect other apps ? We
are a hospital so we have quite a lot of mission critical off-the-shelf
applications that we rely upon. Hence my persistent nagging about the side
effects of this :cool:.

Cheers
Simon
 
A

Albert D. Kallal

Simon Westenra said:
Thank for your comments.

We have yet to change the OpLocks setting on our Citrix Special apps
servers. We have a server set up for Access 97 and another for Access XP
(Win2000)

It not very clear on the above. Are you saying you setup a Ctirx server for
a97, and antoher Ctirx server for access XP?

Or, are you saying you setup a sepertae server for the back ends? (you don't
even need to install ms-access on the back end comptuer if it is NOT the
same computer as the Citrix seerver. That mdb file is just a plain file as
far as the computer is concerned).

Two things to note:

1) Of course, the settings on the client computers that connect to Citrix
don't matter..you are using remote desktop software. (no more then
re-booting your computer will change anything on www.amazon.com when you are
purcahing a book!).

2) If your server is win2000 or later, and patched to sp3..then you don't
have to do anything.

The computer that runs the Front end (your server), and where the back end
resides needs the op-lock settings set. As mentioned, since you likely have
up to date patched servers for both the FE, and the back end (BE), then you
should be ok.
 
A

Albert D. Kallal

Also, did you look into as why your FE is so large?

As I mentoned...mine is factor of 10x smaller....

Also, is that FE a mde..it should be....
 
R

Rick Brandt

Albert D. Kallal said:
Also, did you look into as why your FE is so large?

As I mentoned...mine is factor of 10x smaller....

Also, is that FE a mde..it should be....

Just thought I would add that we found that the "normally harmless" CPU
utilization caused by Access 97 pretty much brought our Terminal Server to its
knees when we upgraded to Server 2003. We had to upgrade to Access 2000 to
resolve the problem.
 
T

Tony Toews

Rick Brandt said:
Just thought I would add that we found that the "normally harmless" CPU
utilization caused by Access 97 pretty much brought our Terminal Server to its
knees when we upgraded to Server 2003. We had to upgrade to Access 2000 to
resolve the problem.

Interesting. There was one or two other posts mentioning this same
thing. This was also the experience at a client but I discounted what
their IT staff had to say on this topic.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
G

Guest

I've had a look at the images on the database.

We did indeed have some images on some forms.
The same image (only 26kb) was set to be the background image for 16 forms.
We left the image on the background of the main startup form.

We also deleted about 10 unused forms, some of which had the image.

The compressed database is now 16MB instead of 60MB.

This should make copying and loading a bit quicker.

Thanks for that
Simon
 
G

Guest

Albert D. Kallal said:
It not very clear on the above. Are you saying you setup a Ctirx server for
a97, and antoher Ctirx server for access XP?

Yes. We don't have access on the main Citrix servers. If users open up
access 97 then we create a session for them on the Access97 server.
Ditto for Access XP - which is on a different server.

Or, are you saying you setup a sepertae server for the back ends? (you don't
even need to install ms-access on the back end comptuer if it is NOT the
same computer as the Citrix seerver. That mdb file is just a plain file as
far as the computer is concerned).

The database itself is stored on another server.
I don't plan to make any registry changes on this server.
Two things to note:

1) Of course, the settings on the client computers that connect to Citrix
don't matter..you are using remote desktop software. (no more then
re-booting your computer will change anything on www.amazon.com when you
are purcahing a book!).

Yes. Our users get either a Terminal or a Windows XP computer running
PNAgent.
No registry changes are going to be made to these ssytems.
2) If your server is win2000 or later, and patched to sp3..then you don't
have to do anything.

ah ha !
There we have it.
All of our citrix servers are Win2000 SP3
So are you saying that opportunistic locking is already disabled for these
operating systems?
When I look at MS Article 296264, it says that it applies to pretty much
every operating systems, including win2000.
Could they be referring to how to *Enable* opportunistic locking perhaps?
The computer that runs the Front end (your server), and where the back end
resides needs the op-lock settings set. As mentioned, since you likely have
up to date patched servers for both the FE, and the back end (BE), then you
should be ok.

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
(e-mail address removed)
http://www.attcanada.net/~kallal.msn

Thanks for your time Albert, This information is invaluable.
Give me an adress and I'll send you a xmas card. :cool:

Simon
 
A

Albert D. Kallal

ah ha !
There we have it.
All of our citrix servers are Win2000 SP3
So are you saying that opportunistic locking is already disabled for these
operating systems?
When I look at MS Article 296264, it says that it applies to pretty much
every operating systems, including win2000.
Could they be referring to how to *Enable* opportunistic locking perhaps?

yes..as far I I know..that is the case.....
(and, for those that are pre sp3..then they need that info in the KB
article......).
 
G

Guest

For reference and for future readers, I'm using this DOS Batch file to create
a new front end each time a user runs the database. It is a published
application in Citrix, and it runs this script which copies the front end (1
minute) and then opens the database.

echo off
REM -------------------------------------
REM Simon W - 6th Jan 2005
REM Create a personal copy of the front end and run it.
REM Delete their personal copy of the front end when they leave it.
REM -------------------------------------
REM --- get the current minute, so that filename is very likeley to be unique
for /F "usebackq tokens=1 delims=:" %%i in ('%TIME%') do set hour=%%i
for /F "usebackq tokens=2 delims=:" %%i in ('%TIME%') do set minute=%%i
REM --- Copy the front end, using their username ---
echo COPYING Database Please Wait. [CTX80]
copy "\\fullpathhname\Database.mdb"
"\\fullpathhname\Database_%username%_%hour%%minute%.mdb"
REM --- Open Access and NOPIS ---
"C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE" /wrkgrp
"\\fullpathhname\Database.mdw"
"\\fullpathhname\Database_%username%_%hour%%minute%.mdb"
REM --- The program pauses here while the user uses Access. When they close
Access Delete their copy of the front end ---
DEL "\\fullpathhname\Database_%username%_%hour%%minute%.mdb"
echo on

cheers
Simon Westenra
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top