How to deploy updates to MS Access application? - sql-server

I have a MS Access 2010 front-end with SQL Server 2008 R2 back-end, 20-40 users.
Currently the users open the application through Windows batch-script, which gets the newest version of the front-end file from a network drive, then opens it. Users always use the newest version of the front-end.
In near future, the network drive will no longer be available to some users. I need some kind of method to deploy front-end updates to users, with minimal interaction from the users.
Using 3rd-party software is not possible (security reasons). Storing the Access file in Internet is not possible (security reasons).
I would appreciate any ideas for how to deploy the front-end patches in the future (about once a week). The front-end is a single .accde-file, about 15MB in size.
[EDIT #1] Could it be possible to store the .accde-file in SQL Server itself, and then maybe use another Access application to download the file and replace the local copy?

Related

Missing: Outlook 16.0 Object library (msoutl.olb)

I'm running an MS Access database with VBA code that has libraries for Microsoft Office 2010. Currently, there are users that are upgrading their machine to Windows 10 running Access 2016.
When the database is opened on a new machine running Access 2016 the libraries for the Outlook changes to 16.0.
When I try to open the file in the old Access 2010 environment, I run into this error:
Missing msoutl.olb.
Is there a way to make the database backwards compatible?
It sounds like the users share the same frontend hosted in a network folder.
If not done already, split the database to have a single shared backend database file. Then, to avoid your issue, distribute a separate copy of the frontend to each user's workstation.
On the workstation, let the user launch the frontend using a shortcut that runs a script to always keep the frontend current. This method is described in detail in my article:
Deploy and update a Microsoft Access application with one click

how can i choose the right database?

I am creating a website, using mostly html and some php pages, now I have to create a database and connect it with my website, for log in and requests, my question is what database should I go for, is Microsoft access good enough? or sql server or phpmyadmin? the website isn't large, it might get 6 requests per day, I am not a professional programmer but I know a few things about programming, please help
I am an developer in Access. Access technology is a Windows application, not intended for web applications. It is not a back end database which is what a web server needs behind it. The SQL Server - Express Edition (free) would be the product from the Microsoft family. Of course there are other suitable shareware products out there, probably the best known being MySQL.
When the requirement is for internal needs, not public facing, but the users are geographically separated; then Access (and other Windows Applications) are platformed on a Remote Desktop Server (aka Terminal Services).
The other alternative to building your own web application is using one of the database centric web services: Soho, QuickBase, Knack, etc.

Deployment of ASP.NET Core Web application

I am starting to write an open source application which is intended to be deployed on premises with MS SQL Server as backend. Now I was wondering how to go about deploying the application and the SQL Server backend.
For MSSQL there is a pretty clear installation path but I was wondering how I could create an easy installer for the web application. The idea is to copy the website to some location, start it and then call a special installation controller where the user could specify a database user with elevated privileges (such as the 'sa' user). The website should then create some database users, views and tables on that database and perform the initial setup. Additionally, it should also modify the configuration of the website to use the correct database user.
Of course, other ideas are welcome as well. How do you handle the deployment of a website for a small company which doesn't have dedicated IT staff.

Migrate MS Access backend to cloud

I have built a CRM for my company using MS Access 2016, and we are looking to be able to use it remotely. I have currently split the database and have the back-end residing on our company server/shared drive. As I see it, we could put the back-end on SQL Server, but that would mean finding a way to host it. We recently moved to Google Apps for Work and I have been looking at the Google Cloud platform (e.g. Cloud SQL), but I don't know if it will integrate nicely with MSSQL. There's also Sharepoint, but we are are having difficulty even finding it to buy on Microsoft.com, and are trying to move away from Microsoft Office products anyway.
What would be the most stable, cost-effective, and fastest way to allow our employees to use our Access DB remotely?
My suggestion would be to migrate the database into SQL Server as step one. Then step two host the database in Microsoft Azure using the SQL DB service.
You can find more details and pricing here: https://azure.microsoft.com/en-us/services/sql-database/
Be sure you check the single database pricing. Unless you want the elastic scaling and performance.
I'm not sure about the cost part, but the fastest and most stable (IMHO) would be to use Remote Desktop. Either to a user's workstation or to a server set up for it.
We have migrated our backend to SQL Server from MS Access for obvious reasons. Our users access the front end off a VPS Hosted in the cloud. Connection string ODBC. It is robust and fast.
we are currently using a VPS. Looks cheaper and easy to access ;
https://clients.databasemart.com/aff.php?aff=275

Deploying a Microsoft Access application with SQL Azure

How can I deploy Access applications to multiple companies, with linked tables to SQL Azure servers?
I'm planning to deploy the Access programs with Microsoft Access runtime, and I'm assuming that I'll need to include the odbc drivers as well? Is there a way to automatically have Azure create a new server when a company signs into my website and downloads a program, and have the Access program link to it? And is there a way to get around the IP address settings in Azure as well? Because companies will be using the programs on multiple PCs. Or is it possible to utilise that and charge per PC?
If you distribute the application pre-linked, then the user should not have to do anything to consume the data.
When using Access with SQL server you can in general use the standard windows built in SQL driver. However in the case of Azure you do need to download + install the native 11 drivers (so I recommend you use that driver during development and setup).
You can also have code include to re-link to the sql server, but as noted, if your application is “already” linked, then you really don’t have to do anything on application startup. Such re-linking would not be required every time the application starts, but only a “one time” re-link is required say if you’re going to change the database, or perhaps the user logon. How to re-link (DSN less) is outlined here:
http://www.accessmvp.com/DJSteele/DSNLessLinks.html
As noted, you really don’t need the above.
As for IP restrictions, in the Azure setup you can turn off such restrictions if you need a connection that will occur from any location, but that does open up a security hole. (when you first create the SQL database you will be prompted for firewall rules).
All of the above assumes you been developing that Access application with SQL server as the back end (you can even use the free edition of SQL express for development on your local machine).
Last but not least:
Because your connection is occurring OVER the internet, then you speed will be MANY times slower then using a local server. Read the following article to get a “grasp” of this speed difference:
http://www.kallal.ca//Wan/Wans.html
So MUCH additional work is required in Access to obtain good performance when your connection is OVER the internet as opposed to SQL server running on your local network.

Resources