Can Access handle this configuration, or do I need SQL Server?

P

Paul Ponzelli

Actually, even with TS each user should have his/her own copy of the
front-end

If TS is delivering an image of the front end (at the server) to the client,
why would the client need to have a local copy?
 
V

Van T. Dinh

No wories.

I use Access on Citrix so I know. My set-up has users in dofferent states
in Australia and the users are thousands of kilometres away.
 
P

Paul Ponzelli

How is the Citrix system working for you - are you and your clients
satisfied with it?

Also, one of the links on Tony's site includes a link to an article by
Rickard Olsson about Access developers using Citrix. Have you seen it, and
if so, would you say that his observations coincide with your own
experience?

Rickard Olsson's site is located at
http://www.vb123.com/toolshed/05_access/remotedesktop.htm.

Thanks for your consideration, Van.
 
V

Van T. Dinh

I am sure Doug meant the each user has a separate copy of the Front-End on
the TS *server*. For multi-user application, we normally split the the
database application into 2 MDB / MDE. The Back-End (Tables) only can
reside on the TS server or any other shared directory on other server. The
Front-End containing other Access objects and each user should have a
_separate_ copy, usually on his/her own desktop but in the TS set-up, all
copies for users reside on the TS server.

On the user's PC, only the TS software is required which configuration
pointing to Tony Toews' utility.
 
P

Paul Ponzelli

You MVP's are awfully kind to us novices. You not only take time to answer
our questions, but you even have the patience to further explain when we
misunderstand your answers.

My thanks to Van and Doug.
 
R

Rob Oldfield

My company runs a couple of (smallish) mdbs and one large scale Oracle back
end db system over both Citrix and RDP client connections. The only issues
we've had with these have been deficiencies in the Oracle system to work
correctly (small but irritating bits and pieces like scroll bars not
functioning correctly) and problems caused by flaky connections.

Now that we have the connections stable we're pretty much satisfied with the
way that it works, and our only issues are with the developers of the Oracle
system getting their ars*s in gear to sort out their problems. In terms of
the way that Access works/would work then it's stable and controllable.
 
R

Rob Oldfield

One thing I would suggest though: get a specialist in to set it up -
particularly if you end up going down the Citrix route. It's possible to
run RDP connections in to a 2K/2003 server pretty much out of the box, but
there are quite a few things that should be done in order to get it to
function at the top level. And Citrix is more complex.

One thing about Rickard Olsson's article is that his treatment of the
differences between the MS RDP client and Citrix's ICA is different from my
understanding of it. The story, as far as I am aware, is that Citrix was
always the key player in developing thin client technologies and they
created both protocols. MS got interested and wanted to buy in, but Citrix
only sold them RDP - and held on to the ICA version which is far more
efficient. We used to run our remote sessions on a 2000 TS box purely via
RDP. When that server reached capacity (it was running out of memory) we
needed to upgrade and thought about both a new 2003 box (which is,
apparently, more efficient) and Citrix. We consulted a specialist firm and
were persuaded to go the Citrix route. It's a complex choice, but I'd say
that you should get some independent advice regarding what you need in order
to run the apps that you're after.
 
A

Albert D. Kallal

Two more questions in that regard:

1. When several clients use the database concurrently, it would seem the
thin client (let's say TS) server has to provide a separate instance of
the front end to each of those clients. How does it do this? Does it let
each of them click on an icon which opens a separate instance of the app
for each of them?

Each user gets their own logon, and each user gets their own private session
of windows here. The rule that we hammer out over and over again in this
newsgroup is that you do NOT want to allow multiple users into the SAME COPY
of the Front end. So, when you use terminal services, once again, you give
EACH USER THEIR OWN copy of the front end, and it will be trouble free.

In fact, you *can* actually allow more then one user to logon to the same
user, and get the same desktop etc, and then you would in fact be running
multiple copies of the same FE. (this will work, but is less reliable, and
as we mention OVER AND OVER again, don't allow multiple users into the SAME
COPY of the FE....as this leads to data corruption.

Do note that TS does virtualizes the copies of ms-access running, and
actually only loads ONE copy of ms-access. This means that most quality
software written for the windows 32bit environment is what we call
re-entrant (a fancy term for the fact that the memory used by the software
is swapped for each user...but only ONE copy of the software is actually
loaded. So, if you got two remote users running ms-access, there is in fact
only ONE copy of it running in memory!!). However, while ms-access (and most
products) are re-entrant, the locking, and other issues cause problems when
multiple users open the same front end file (which is preferably a mde). So,
while multiple users can in fact run the SAME ONE copy of ms-access, those
multiple users should not hit the same front end

At any rate, since each user gets their own desktop, their own logon etc,
then each user connecting to this server does not bother the other users. Of
course these shared FE's all do link to the same back end. So, the setup is
much the same as on a local office LAN. In fact, since there is NO data
transfer across a network from the FE to the BE, often those remote users
way far away get BETTER performance then users in the office who also have a
FE connection to the back end, but of course their connections have a
network in-between.
2. In most of your comments about TC, you seem to view it as a good idea.
But then at the end of your comparison of TC technology with dot net, you
argue that dot net is even better because it provides for interprogram
communication, whereas TC only controls one program at a time. But I
don't think I've grasped the reason for your conclusion.

Well, in fact,the article really is pressing the issue of thin client in
terms of using a browser foremost. You see, lets assume you run two separate
windows, one is a remote TS window connecting to your ms-access application.
And, lets assume you fire up another window that is running ms-word (on a
different server). Ok, now, how can you do a mail merge between the two
windows? Answer: you can not!! So, all I am saying that thin client allows a
person to remotely use some software across the web, but thin client does
supply the means for that software to communicate with other applications
you might be running across the web. Before we only ran applications
on ONE computer. Now, with everything connected, we need
a new way to allow software to talk to other systems.
(.net solves this problem and
address the fact that software needs to talk to each other
just like it does on your desktop, but now we run
software across the web and from *different* machines).

So, .net simply allows software to talk to each other
as if it was on one machine, but now that machine is
the whole web...and that is a amazing concept.
For the most part, my users need to go into the Access application, enter
data, and generate queries and reports. Why is inter-program
communication of concern to them?

In your case, it is not. Further, you are with TS exposing a full windows
desktop remotely to the user. So, in effect, you are not really solving the
problem of how other programs you run will talk to each other
(since all your programs on in the SAME window!! You
are just using a desktop remote...not one of the many web
solutions. How about having yahoo talk to ms-access? Even
better is how about having ms-access lookup the temperature,
or get flight information. Or, how about you get ms-access to
automatically fix a address you just entered, and also lookup the
zip/postal code for you. Do note, that MS has released the
soap ad-in for office, and thus as I write this, ms-access can
in fact consume .net services right now!!
If they need to export a query view to say, Excel, can't they perform the
export and then open Excel (just like they opened Access) since they're
controlling a portion of the server, and view the result?

Yes, absolutely, they can. However, this is because you are exposing a full
windows desktop to the end user. In the case of running software on two
different boxes remotely, or in fact if you are running your software throw
a browser (this is non TS solution), then each window you have cannot
communicate, or talk to other applications in other remote windows.

So, note how that article starts out referring to remote applications that
run
in a browser. So, my point was is that all companies have now figured
out how to make REALLY very nice interfaces via the web, but
that is NOT the problem that needs to be solved!. The problem here
is that if you use quickbooks via the web (which they now offfer)
and run it in a nice browser window, and then run excel (in
another window from some toer system), then the two
programs cannot talk to each other. So, my whole point here is that
the probelm that needs to be solved is not just using software remotlery,and
the problem is NOT makcing a real fancy windows interface. The problem that
needed to be sovled where is to allow software to TALK to each other.

Thus...we got .net...

Right now, you can write some code in ms-access, and set a reference in the
tools->references to Excel, and use Excel commands and automate excel right
inside of ms-access. You can also do the same with Outlook.

Well, with .net, you can actually do the same thing, but that program
reference you just set tools->references can be on any machine on the world
wide web that exposes web services. So, .net is the extension of allows
software automation and communication over the web.
 
P

Paul Ponzelli

Thanks so much for your further illumination on this subject, Albert. You
make a good case for dot net, and I'm planning to get there eventually as I
go through the learning curve(s). In the meantime, I'm going to spend time
looking into thin client as a temporary fix for he performance issue.
 
P

Paul Ponzelli

Thanks for the additional advice, Rob.

I'm already gathering information from various sources including the helpful
comments in this newsgroup conversation and I'll be asking several of our
experts to collaborate with us. I wouldn't try to tackle this one
single-handedly, and we'd want to bring in a qualified specialist to set it
up as you suggested.

Paul
 
B

Beth Kevles

Tom and Barry --

Thank you both for your very helpful responses. I have a follow-up
question which is, perhaps, more about the *best* way to do things than
just a way that works.

The database I'm working on, as I mentioned, is for a school fundraising
auction. The three relevant fields, all of which are saved in a table,
are:

- Sort Value (currency) which is the actual dollar value I assign to an
auction item.
- Value (text) which is usually a currency amount, but could be something
like "Priceless" or "$100 - $300".
- Minimum Bid (currency) which will *usually( be about 20% of the Sort
Value. Sometimes, though, the Sort Value is out of line with what I
think bidders will be willing to spend, so the Minimum Bid may be much
smaller (or larger) than the 20% suggested.

I'd like to have default values for the "Value" and "Minimum Bid" fields
filled in automatically when I first enter "Sort Value" into the table,
which I always do through the same form. But I'd like to be able to
change those values if I think I should.

If filling in the values for "Value" and "Minimum Bid" shouldn't be done
as I originally envisioned through the form, what then is a better,
cleaner way to accomplish my goal? Basically, I'm tired of typing in
those related values and then having to correct my typos.

Thanks for your advice,
--Beth Kevles, Original Poster
 
V

Van T. Dinh

I don't have the problems as mentioned by Rick. However, my situation is
different: I am the developer of the Access Front-End, developer /
administrator of the SQL Server Back-End, administrator of the Citrix Server
and have full access as the Network Admin. Basically, I control everything
I need for the database to run smoothly.

The speed is still an issue for us because we run it on a slow network and
part of the capacity is reserved for main-frame traffic.

There are some quirks about printers and printing. Firstly, you need to
install drivers for users' default printers and even when you install
correct drivers, you still have to map them to the name that Citrix expects.
If you can restrict your users to a small set of printer models, you save a
bit of time installing printers. Some of the printers are not supported on
W2K servers, especially those "All-In-One" printers.

Secondly, if a user whose printer does not have the correct driver or mapped
incorrectly print, the print-out seems to go randomly to one of the mapped
printers and end up thousands of km away from where it is needed.

Thirdly, Citrix seems to create lots of duplicated ports for printers with
bi-directional support and there seems to be duplicated entries in the
Registry.

The major problem is that each user's stack space on the server seems to be
smaller than the user's stack on his own dedicated PC. The trouble is that
if a user runs out of stack space, the "published" application (i.e. the
database Front-End) simply shuts down without any error message or warning.
I found one of the culprits is the OpenReport with printing option. This
works fine on the normal desktop but often shuts the database down on
Citrix. However, this can be easily fixed by using preview option and then
use PrintOut.

In general, the whole system seems to work OK from the users' viewpoint (we
are in the process of upgrading links between all sites and this should
improve the speed a lot). From my viewpoint, I see some minor quirks but
these quirks haven't affected the users to date.
 
P

Paul Ponzelli

Thanks for he additional information, Van.

Two questions:

Is there any way to control the stack space allocated to each user?

Also, how long has this system been in deployment?

Paul
 
L

Larry Linson

2. I'm thinking that Replication could
be problematic if there are transmission
interruptions over a WAN. I've also
heard that Replication is difficult to
implement over a WAN even under
the best conditions. Is this
true?

Michael Kaplan, http://www.trigeminal.com, is the expert to whom the experts
turn for replication issues. I believe he has indicated his agreement that
"Replication is not for the faint of heart." To me that implies that it _is_
complex and difficult to implement. And, as Albert wrote, it is really
intended for a different environment than you describe.

My personal experienc with split Access/Jet databases is that they work very
nicely on a 100 MBPS network, acceptably on a 10MBPS network, discernably
slower on a 4MBPS network, and I haven't bothered to try on a(n
always-shared) T-1 based WAN.

I have used Access client applications to a true server database over a
similar WAN, with users who were, generally, satisified with the
performance. (There were some exceptions, almost all due to long-ago design
decisions that were not optimum, but which the funding source at the client
would not authorize being improved for mere user-satisfaction while they had
"new features" to implement.)

But, moving to client-server alone may well degrade rather than improve
performance: a well-designed, well-implemented single-user application does
not, with just splitting, automatically give a well-designed,
well-implemented multiuser application, and a well-designed,
well-implemented multiuser applicaion, just relinked to compatible server
tables, does not, automatically give a well-designed, well-implemented
client-server application. Some, and often very significant, review,
redesign, and re-write may be required.

Also, as Albert mentioned, one very successful approach to
Access-across-a-WAN has been the Terminal Server/Citrix approach. You may
need to buy some additional licenses, but implementation (from the Access
side) is very easy and performance is generally very satisfactory. Note
Albert's caveat about printing, though.

Larry Linson
Microsoft Access MVP
 
V

Van T. Dinh

1. Don't know about controlling the stack space. So far, I found the
work-around for OpenReport so I don't worry about it anymore.

2. I have been working on this for about 2 years. We divided the whole
database into different modules (Product / Manufacturing / Quality Control /
....) and we implement them as we go. The Front-End is now 26 MB in MDB
format and 16 MB in MDE format. The Back-End data file is some 200 MB.

--
HTH
Van T. Dinh
MVP (Access)
 
P

Paul James

Sounds like it's a workable solution for your client.

Thanks for all the information, Van.
 
P

Paul James

The reasons you enumerated, along with potential cost savings in view of
time and resource constraints, are causing us to take a serious look at
Terminal Server/Citrix.

Thanks for your helpful comments, Larry.

PP
 

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