I have stumbled upon an interesting issue with regard to compaction of
an access frontend database which resides on a DFS target that utilizes
FRS to mirror the sharepoint, and I was wondering if anyone knows a way
to overcome it.
For those who are unaware of DFS or FRS, DFS stands for Distributed
File System, and basically involves "mounting" various sharepoints that
reside on various computers underneath one special sharepoint. When
you access the mounted directory under the DFS share, you are invisibly
redirected to where the share really is. FRS stands for File
Replication System (I think. it could be Service, tho). If you
indicate that a particular mount point in the DFS share has two or more
target sharepoints, you can tell Windows to use FRS to ensure changes
to the files in the sharepoint are replicated to the other targets.
Both of these are built-in technologies of Windows 2003 server.
On to what I have observed. We have a frontend/backend Access 2003
database application residing on one of these FRS replicated
sharepoints, and have the option to compact the database on close
turned on. What I am seeing is that when the compaction occurs, the
frontend database is renamed to DB1.mdb, and this name change is then
replicated to the other servers. The name is never changed back again,
leaving the shortcuts that the users use to access the database broken.
I have turned off the compact on close option, and the effect stops,
so the issue is linked to compacting on a FRS replicated sharepoint. I
would like to turn the compaction back on, as the database tends to
grow rather large, but I do not want the database's filename to change.
Any ideas? 11 2288 da********@gmai l.com wrote: I have stumbled upon an interesting issue with regard to compaction of an access frontend database which resides on a DFS target that utilizes FRS to mirror the sharepoint, and I was wondering if anyone knows a way to overcome it.
For those who are unaware of DFS or FRS, DFS stands for Distributed File System, and basically involves "mounting" various sharepoints that reside on various computers underneath one special sharepoint. When you access the mounted directory under the DFS share, you are invisibly redirected to where the share really is. FRS stands for File Replication System (I think. it could be Service, tho). If you indicate that a particular mount point in the DFS share has two or more target sharepoints, you can tell Windows to use FRS to ensure changes to the files in the sharepoint are replicated to the other targets. Both of these are built-in technologies of Windows 2003 server.
On to what I have observed. We have a frontend/backend Access 2003 database application residing on one of these FRS replicated sharepoints, and have the option to compact the database on close turned on. What I am seeing is that when the compaction occurs, the frontend database is renamed to DB1.mdb, and this name change is then replicated to the other servers. The name is never changed back again, leaving the shortcuts that the users use to access the database broken. I have turned off the compact on close option, and the effect stops, so the issue is linked to compacting on a FRS replicated sharepoint. I would like to turn the compaction back on, as the database tends to grow rather large, but I do not want the database's filename to change. Any ideas?
Just an opinion. One should never allow multiple users to open a single
shared file as this leads to frequent corruptions and degrades performance.
The recommended approach is to split your app into a shared "data only" file
and individual local copies of a "front end file" for each user. With this
approach "Compact On Close" is rendered pretty useless as it only compacts
the front end file meaning that you are back to doing regular manual
compactions on the data file and your original issue becomes moot.
--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com
I believe the cause of this is that Access renames the current copy, then
compacts it into a file with the old name, and finally deletes the renamed
original. I can't think of what a work-around might be for this problem.
On 19 Jul 2005 07:13:47 -0700, "da********@gma il.com" <da********@gma il.com>
wrote: I have stumbled upon an interesting issue with regard to compaction of an access frontend database which resides on a DFS target that utilizes FRS to mirror the sharepoint, and I was wondering if anyone knows a way to overcome it.
For those who are unaware of DFS or FRS, DFS stands for Distributed File System, and basically involves "mounting" various sharepoints that reside on various computers underneath one special sharepoint. When you access the mounted directory under the DFS share, you are invisibly redirected to where the share really is. FRS stands for File Replication System (I think. it could be Service, tho). If you indicate that a particular mount point in the DFS share has two or more target sharepoints, you can tell Windows to use FRS to ensure changes to the files in the sharepoint are replicated to the other targets. Both of these are built-in technologies of Windows 2003 server.
On to what I have observed. We have a frontend/backend Access 2003 database application residing on one of these FRS replicated sharepoints, and have the option to compact the database on close turned on. What I am seeing is that when the compaction occurs, the frontend database is renamed to DB1.mdb, and this name change is then replicated to the other servers. The name is never changed back again, leaving the shortcuts that the users use to access the database broken. I have turned off the compact on close option, and the effect stops, so the issue is linked to compacting on a FRS replicated sharepoint. I would like to turn the compaction back on, as the database tends to grow rather large, but I do not want the database's filename to change. Any ideas?
Steve Jorgensen wrote: I believe the cause of this is that Access renames the current copy, then compacts it into a file with the old name, and finally deletes the renamed original. I can't think of what a work-around might be for this problem.
You *might*, and this is strictly thinking aloud, be able to capture
such an event or cause such an event to be written to the Event Log,
and you could write a Windows Service that would clean up the whole
sorry mess in response to the event. Of course, this is quite a lot of
work for such a bitty problem, and it might not even work at all!
Edward
As I indicated, it is a front-end/back-end split database. It just
happens that both the front-end and back-end reside in the same
directory on the server. I see your point that the compact on close
will only affect the front-end. It does appear, though, that this
compaction still is effective, as the frontend tends to grow in size
during the normal process of use. I figure that this means temporary
tables are being generated and then deleted on the frontend in order to
load a form or report. I have no way of tracking this behaviour down,
as I was not the one who designed the app, and I wouldn't know where to
start to look. My preference is to keep it the way it is, and get the
compaction to work. da********@gmai l.com wrote: As I indicated, it is a front-end/back-end split database. It just happens that both the front-end and back-end reside in the same directory on the server. I see your point that the compact on close will only affect the front-end. It does appear, though, that this compaction still is effective, as the frontend tends to grow in size during the normal process of use. I figure that this means temporary tables are being generated and then deleted on the frontend in order to load a form or report. I have no way of tracking this behaviour down, as I was not the one who designed the app, and I wouldn't know where to start to look. My preference is to keep it the way it is, and get the compaction to work.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I believe you missed the point Rick Brandt was making - each user should
have a copy of the front-end on their PC (or work folder, if you're
using a VPN). It sounds like you have ONE front-end on a server and ALL
users are using that one front-end. This is a no-no 'cuz it can lead to
corruption.
--
MGFoster:::mgf0 0 <at> earthlink <decimal-point> net
Oakland, CA (USA)
-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv
iQA/AwUBQt05QIechKq OuFEgEQJX0gCfZz n57/xNPCYatkIK0VFhX 49smZUAoMBs
Qoo32bcKNdpHhMo EEZZF4vWy
=s9Li
-----END PGP SIGNATURE-----
"da********@gma il.com" <da********@gma il.com> wrote in
news:11******** *************@f 14g2000cwb.goog legroups.com: I have stumbled upon an interesting issue with regard to compaction of an access frontend database which resides on a DFS target that utilizes FRS to mirror the sharepoint, and I was wondering if anyone knows a way to overcome it.
Sharing a front end is a stupid thing to do to begin with. Each user
should have their own copy of the front end.
The back end *is* shared, though, and that still needs to get
compacted. But, since no shortcuts point to it, only links in the
tables, there is no problem caused by the propagation of the name
change of the back end, since no one is opening it directly. To
avoid the problem with not propagating the renaming of the file back
from DB1.MDB, don't compact with the actual back end open in the
front end. Instead, run code that renames the back end, compacts it
to the original file name (i.e., creates a new file) then deletes
the original (or, better still, archives it somewhere).
If you're not using an MDB file for your data, there is no problem
at all once you get away from wrongly sharing the front end.
--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
"da********@gma il.com" <da********@gma il.com> wrote in
news:11******** *************@g 49g2000cwa.goog legroups.com: As I indicated, it is a front-end/back-end split database. It just happens that both the front-end and back-end reside in the same directory on the server. I see your point that the compact on close will only affect the front-end. It does appear, though, that this compaction still is effective, as the frontend tends to grow in size during the normal process of use. I figure that this means temporary tables are being generated and then deleted on the frontend in order to load a form or report. I have no way of tracking this behaviour down, as I was not the one who designed the app, and I wouldn't know where to start to look. My preference is to keep it the way it is, and get the compaction to work.
If you are *sharing* the front end (i.e., multiple users opening it
simultaneously) , that is the source of the bloat.
A properly designed front end will grow to a certain point and then
stop growing. If it continues to bloat, then you have design
problems (such as non-compiled code). There are a few things to do
for this problem:
1. move any temp tables to a separate temp.mdb that is either
recreated in code when needed, or copied from an empty reference
copy on the server.
2. distribute your front end as an MDE so it can't decompile (which
results in recompiling on the fly, which results in bloat).
Converting to an MDE will fail in cases where there's something
corrupt in the code. Often corruption in the compiled code is hidden
by VBA's use of flags to tell whether code has been compiled instead
of actually recompiling the whole thing. The result is that invalid
compiled code can exist in a project that throwse no errors when you
compile it.
The creation of the MDE throws away all the compiled code and starts
over from the canonical code, and will thus reveal all errors in the
canonical code. A decompile will do the same thing.
Why am I mentioning all of this? Because recompiling of code because
of invalid compilation is one of the causes of bloat.
Last of all, once you have non-shared front ends and have reduced
bloat to the bare minimum, you never need to compact the front end.
If something goes wrong, you simply replace it with a fresh copy.
Front ends are fungible.
Any particular front end file is completely expendable.
--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
MGFoster <me@privacy.com > wrote in
news:oP******** ******@newsread 3.news.pas.eart hlink.net: da********@gmai l.com wrote: As I indicated, it is a front-end/back-end split database. It just happens that both the front-end and back-end reside in the same directory on the server. I see your point that the compact on close will only affect the front-end. It does appear, though, that this compaction still is effective, as the frontend tends to grow in size during the normal process of use. I figure that this means temporary tables are being generated and then deleted on the frontend in order to load a form or report. I have no way of tracking this behaviour down, as I was not the one who designed the app, and I wouldn't know where to start to look. My preference is to keep it the way it is, and get the compaction to work.
I believe you missed the point Rick Brandt was making - each user should have a copy of the front-end on their PC (or work folder, if you're using a VPN). It sounds like you have ONE front-end on a server and ALL users are using that one front-end. This is a no-no 'cuz it can lead to corruption.
Well, there's one point that suggest this is not the case. If they
have COMPILE ON CLOSE turned on for a shared front end, it would be
failing constantly.
This, of course, could be the cause of the failure to propagate the
name change, because once DB1.MDB is created, the original front end
file can't be deleted, since it's in use.
--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Steve Jorgensen <no****@nospam. nospam> wrote in
news:26******** *************** *********@4ax.c om: I believe the cause of this is that Access renames the current copy, then compacts it into a file with the old name, and finally deletes the renamed original. I can't think of what a work-around might be for this problem.
The way to avoid it is to not compact from the Access UI.
If you rename the original file, that name change should be
propagated by your file replication system. If you then compact that
file to the OLD name and delete the original (renamed) file, you
don't have problems with propagating the name change through your
replication system.
Of course, it may propagate shortcut changes to a deleted MDB, so it
may not be better.
But my suspicion is that the reason the file replication is failing
is *not* because the name change from DB1.MDB back to the original
file name is not propagating, but because the name change itself is
failing because the front end is shared and can't be deleted in
order to make room for DB1.MDB.
But I'm only speculating.
--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Riley DeWiley |
last post by:
I am using Jet 4.0 through OLEDB and C++.
My travails with compaction are well known to regular readers of this NG.
Many of my problems were solved by disabling record locking.
I am now confronted with two remaining mysteries, which I suspect are
related:
-------------------------------------------------------------
The Mystery of the Zombie Session (a horror story)
|
by: Riley DeWiley |
last post by:
There is a way to ask a data source how much space would be freed if
compaction were to be done. I saw the reference, but now cannot find it.
Anyone know where that web page was? Even Google has not helped.
RDeW
|
by: Adrian |
last post by:
Hi
From within a VB app how do you cause a global memory compaction or free
up as per the many memory freeing applications?
Can you say via VB to windows to clean-up/ free up memory used by just one
application?
I have been looking for an example but thus far can't find one!
|
by: mikez |
last post by:
Hi,
We recently built a very basic file management system for a client in
Access 2003 (to use with incoming tif scans). In it we used
Microsoft's Document Imaging activex viewer (from Office 2003). The
viewer seems to be a bit 'buggy', in that sometimes if you preview a
tif image using the activex on a form, then goto another form, and then
come back to preview the same image again on the first form, the
preview no longer shows up...
|
by: asadikhan |
last post by:
Hello,
I have a bit of a design issue around this application I am
developing, and I just want to run it through some of the brains out
here.
So I have a table called ErrorCheck which contains fields ErrorID (PK)
and ErrorName. There is another table called Client which contains
fields ClientID (PK) and ClientName. Then there is a relationship
table called ClientErrorCheck which contains foreign keys ErrorID and
| |
by: |
last post by:
Hi all,
I have an interesting issue that I think maybe related to AJAX. Here is my
scenario:-
I have an aspx page that contains an UpdatePanel with
UpdateMode="conditional". There exists 2 usercontrols (ascx) inside this
main UpdatePanel called UserControlA & UserControlB. Additionally, there is
also a submit button inside this main UpdatePanel called BTNSUBMIT.
|
by: Gabriel Genellina |
last post by:
En Wed, 14 May 2008 13:51:40 -0300, Ethan Furman <efurman@admailinc.com>
escribió:
*When* do you see the 30-secs delay? After uploading the files? I see
they're transferred using SMTP, but I think you're not talking about the
time it takes to send the mail.
I'd use the old-fashioned "print" statement to see *what* gets executed
and how long it takes each step.
--
|
by: jacob navia |
last post by:
Buffer overflows are a fact of life, and, more specifically, a fact of
C.
All is not lost however. In the book
"Value Range Analysis of C programs" Axel Simon tries to establish a
theoretical framework for analyzing C programs. In contrast to other
books where the actual technical difficulties are "abstracted away",
this books tries to analyze real C programs taking into account
pointers, stack frames, etc.
|
by: SAL |
last post by:
Hello,
I'm trying to include a popup in the ItemTemplate of a gridview row. The
ItemTemplate for the field contains a textbox and when the user clicks in
the textbox I want a popup panel to show allowing the user to make a
selection from the popup window. I have enabled AJAX extensions and have a
working sample outside of a gridview. However, when I click in the textbox
of a gridview row, all I see is a really small square instead of the...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |