MS Access – Deploying an Access Database using CITRIX

This is a preliminary posting on the subject, one that I hope to add to over time.

We see many postings on various forums from people wanting to know more about running an Access database via CITRIX.

Firstly, since Access is not recommended to be used over a wireless connection, nor a WAN, CITRIX is a very interesting solution to giving access to such databases.  That said, like everything in life, there are both pros and cons to such a deployment of your database.

Like with every MS Access database, to deploy it, you must first split the database into 2 components: front-end and back-end and then issue a copy of the front-end to each of your users.  This can easily be done in CITRIX.

Typically, in an effort to minimize the impact of internal networks…, I like to try and have the back-end installed directly on the CITRIX server itself.  By doing so, the database runs completely on the CITRIX server and there is no network impact, and the database also doesn’t take up valuable network bandwidth uselessly.  Of course, as with any installation, a reliable backup system must be put in place and validated on a regular basis.

As a developer, I always need to be given an administrative console with the full version of Access installed so I can perform tests, and more importantly compile my application locally to ensure proper compatibility.

Where I have seen issue occur…  Well, there can be a number of issues, but 2 specific issues seem to keep coming up recently.

  1. Insufficient Server capacity – Since the CITRIX server is an application server, it is crucial to ensure sufficient RAM, CPU power,….  I recently had to identify the fact that the CITRIX server was maxing the CPU and thus the database application I designed was miserably slow.  The IT department stated that the server was adequate so I added some custom code to log RAM and CPU usage to profile the server since they would not do so.  I was able to clearly demonstrate that the CPU was saturated.  Once they unloaded a few other applications from the server, all of a sudden my databases were running fine.  The funny thing was that the database was throwing network error, nothing relating to CPU, or anything remotely leading one to believe it was a resource problem.  Even more of a reason why the IT department was unwilling to believe my initial questions regarding their server.  All of this to say, once you set up your db, ask the IT dept to profile the server CPU, RAM, Network just to ensure everything is optimal.  it is so simple for them to do and can truly avoid weeks of headaches (for everyone).  This is also something that could be checked from time to time.
  2. Outdated/different server installations – Like any computer, the local setup can have an impact on application running on it.  You can develop a superb database application and once deployed on the server it may not work.  Why, simple because of a conflict caused by updates, difference in dll, exe, …    This is why in my opinion (and some people argue this point) that the CITRIX server be kept up to date both its OS and Access/Office installation.  Furthermore, it is crucial to compile your database on the local CITRIX server to ensure everything is proper.

That said, I must say that once things are setup properly, CITRIX can be very reliable and a very useful tool.

 

3 responses on “MS Access – Deploying an Access Database using CITRIX

  1. ronnie valero

    Citrix is too expensive, We are using windows server 2003 R2, and Windows 2008. Remote Desktop is Access best of best friend, if you wan to push Access to its limits. Your Access apps is accessible in wireless,wired,wan and other OS like mac,linux other RDP compliant devices like android tablets and smart phone. That is why I don’t bother developing Access Web App, it’s too expensive to setup and you will lose in general the RADEST quality and power of Access.

    Bar-none Access is the RADIEST DB front -end dev’t. tools.

    So, I wonder why if you will go to utteraccess and other Access forums this options for Access deployment isn’t a hot topic.

    1. admin Post author

      CITRIX is not too expensive. This is a corporate tool. It cost about 160$ CAD per user. This is a one time fee. If 160$CAD is too much to enable remote access to your database, you have bigger issues at hand. On top of which, in most cases this is a deductable expense which you accountant can use… How much did you spend on your server, all the software you are running, what do you spend on salaries,… put things into perspective a bit. You also have to factor in, how much more efficient employees can be using CITRIX to remotely access various applications. You also have to understand that CITRIX gives you much more control over what the user can and cannot access or do compared to simple RDP, which programs are accessible.

      Do not forget either that you need to buy licenses for RDP as well although some OS come with 1 or 2 licenses by default. Furthermore, you will also need to install terminal server licenses.

      Why do you say Web App are too expensive to setup? What are you referring to, MS Access Web Apps or other technologies?

      RDP can be a useful tool, no doubt, but your unilateral broad statements do not apply to everyone situation. Like everything else in life, you need to determine your exact needs and then find the appropriate tool to fill the gap.

  2. strudell

    I have been serving Access apps via CITRIX for 12 years at many different companies. It is by far the best way to serve, for internal, as well as remote use. These systems have all had 50+ users as well, without issue.