I have a front-end back-end database in MS Access 2007 that is only used during work hours.
I'd like to be able log-off all users that left the front-end running to do some maintenance.
I'd like to do it without timers as that makes editing weird and it won't really help me now as I have no idea where all the versions are.
Any solutions to this?
Using a timer in the front-end is the only 'graceful' way in Access, apart from disconnecting the network path as you have effectively done.
Related
I am not very familiar with Access database till now i was only programming to SQL Server but now it's time to do so. I am building WinForms application which will be using Access database and i have some question related to that point if you don't mind. My application will be used by multiple users and there will be one access databsae. My questions as below:
Is there any problem with accessing access database in same time by many users or only one user can be connected?
If i develop my program to use access 2016 and some of my users will have diffrent windows version and also diffrent access version
will it works?
Should i know something else? :)
If your client want to have a file based database and this is a project constraint , MS Access is the best choice. If you want a more detailed advice, please let me know how many users will perform Read/Write or Read transactions, the size of the database and if the application will run in client-server mode in a LAN/WAN, Cloud or Remote Desktop environment.
Back to your questions:
Depending on these conditions you may range from 10 to 20/25 users. Remember that you can always try with MS Access and later upgrade to a MS SQL database in a couple of hours.
If your front-end application can link to a 2016 Access database, it will do that without installing MS Access to the clients that will run your App, i.e. the vb.net compiled App will install all needed drivers. If you develop your App within MS Access 2016 (Access Form and reports, some VBA) you can run it with the free runtime version of MS Access, but this only when no older version of Access is installed on the running workstation.
Please check with your client the real reasons for a file-based database...
To answer the questions as asked:
You might run into an issue with this, as access was really designed as a personal use database. Having anything more than a small handful of users hitting against it at once will in fact cause problems, as it's not really well designed for that purpose...
This should in theory be fine, as the application itself is interfacing with the database, not the end user...
It seems like you're taking a step backwards using access for this, and SQL might very well be better suited for this purpose. This isn't me trying to just bash access either, this comes from personal experience. Going with this sort of design is likely to cause you more headaches than good.
I'm looking for a better alternative to MS Access MDb files. MS SQLServer 2012 LocalDB looks like the perfect solution. I've done some testing and it seems to do the trick.
What I need to find out is
How secure is LocalDB ?
Can it be made any more secure ?
I have an application that field workers use and would like to to be able to send them updated data files from time to time (if there are significant schema changes and or associated data) but would like the data contained to be managed by a password (and maybe username). The application (Winforms or WPF) would manage the password.
Currently I use a MS Access mdb file with database password. Its a good solution for basic security. But the performance of it isn't that good for what the app does, plus it wouldn't take a brain surgeon to crack the password and get access to the database.
Testing LocalDB gives the performance that I need but I'm just wondering if its possible to increase the security. So if someone managed to get a hold of the data file they would have a hard time accessing the data.
Any help would greatly appreciated.
Thanks all
Im really confused as to whether what Im trying to achieve is possible and if there are better alternatives to it, so here it is:
Ive created web application for a business, it allows customers to view details etc, and most importantly make reservations.
These reservations are stored into a mysql database which all is provided by my web hosting service.
everything up to here is fine and without problems
The next thing im trying to achieve introduces complications:
So I am trying make a application which will run on only one machine, and its supposed to connect to that database and retrieve all those reservations.This is where Im trying to implement a Visual basic application.
The easiest way would off been to email the business reservation every time its made, however this complicates things for the end user.It would be much easier to have an application that retrieves the data, simply on their desktop or a local drive as oppose to email.
I did research into vb.net and Net Connectors, but then came across the problem of my host not allowing remote connections to the database.
And this where Im stuck at now, I have no idea how to achieve the task
Thanks in advance for any guides or help
If your web host will not allow a remote connection to the database then you wont be able make a WinForms application to sit on the customers desktop - as you've worked out.
The simpliest solution is have a restricted Admin.aspx WebPage in the
website. This webpage would show all the reservations, allow Searching by From
and To Dates and possibly even allow for approval or rejecting bookings. This is a very common approach - I'd also recommend you have a special CSS for mobile phone webbrowsers so that your customers can view the bookings from their phone.
Please forgive me if this post is in the wrong place, but as your all the cleverest bunch of guys I know, advice would be appreciated.
Another user in my company wrote [and on another pc], installed the new application [written in vb.net I think - but maybe c#].
He left the company a month a go, and I have now started to get problems [or rather notice them for the first time] - the files were being logged to SQL Server on the network. Now I notice that a month ago the Network SQL Server 2008 has not been logging the data, but in fact it has been accumulating under SQL 2005 on the local machine that the software is installed on, and the temp file is over 100mb big...
I suspect that the IT department froze his account when he left, and this disrupted the SQL access and program network permissions. The Event Viewer seems to support this theory by logging red critical errors that basically say [unable to connect to SQL server etc etc].
The program runs now as a guest [It always ran as a guest]. So I cant see how freezing or deleting his account would affect things.
Do you know how I can fix this without re-installing everything?
Thanks in advance.
Jim.
here's a couple of things to check for starters:
what accounts the SQL services on the machine are running under e.g. http://sql-articles.com/articles/general/sql-server-service-accounts
which account is the application logging in as
So I've created an Access Project for one of my users so he can connect to a reporting database. The .adp project connects to the DB and he can query data to his heart's content. The problem is, no queries can be saved. Whenever he opens the project, he is presented with the following error:
"This version of Microsoft Access does not support design changes with the version of Microsoft Sql Server to which your Access project is connected. See the Microsoft Office Update Web site for the latest information and downloads. Your design changes will not be saved."
Again, this is Access 2007 and Sql Server 2005. My googling efforts - which are coming on a day when I seem to be especially stupid - keep bringing up information regarding this error for Access 2002/2003 trying to connect to Sql Server 2005, which is clearly not my problem.
I'm seeing that one can connect to Sql Server with the normal Access databases (.accdb in 2007 or some such), but I'm seeing mixed information regarding whether I want to do this or not. And since I can't get a copy of Access 2007, I can't really test this (topic for another time).
Before I do down that road, I'd like to get to the bottom of this one. Anyone have any suggestions, useful links, or useful knowledge? Or an older developer who knows the answer that is no longer needed, so I can eat him and absorb his knowledge and powers?
The account being used to connect to the DB was only a db_reader. I changed it to DBO and that fixed the problem - user can now create and save queries, and sleep at night knowing that tomorrow will bring a new day with new querying possibilities.
I'm not super crazy about this though the reporting database has been set up on a separate install/server from impotant App databases. I'm not worried about the user (or anyone on his group) blowing anything up. I'd like to understand why this is, and don't (outside of the obvious - reader is read only! I didn't expect that to extend to work in Access), and will try to do so at a later time. One of the unfortunate aspects of working at a dev shop focused on internal app development is, "well, it's working, you have other things to see to".
I am not sure if I can be of help here.
But you can have a view inside Access which connects to SQL database and use that view.
Alternatively, you can go the other way. Have a DB project with SQL Server & create a linked server to MS-Access DB.
Did you try linking to the tables through an ODBC connection?
CodeSlave, I did not. The attitude from higher up is "it's working, move on". I'm not sure the boss really wanted to go down that road anyway, but it's a moot point. I should probably try granting the account dbreader and dbwriter access and see if that accomplishes the same thing, but it being dbo isn't really a huge deal. Or rather, it's not a big enough deal that The Powers That Be want me to seek an immediate change.
I was going to try linked tables until changing the SQl Server account permissions "fixed the problem" (quotes very deliberate; it feels like one of those solutions you arrive at without a proper understanding of what it worked, which vexes me).