access mysql database via Vb.net - vb.net

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.

Related

Access by multiple users to access database

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.

Log out all users from database for maintenance

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.

Make vb.net program accessible for multiple users and computers

Can someone tell me how to make my vb.net program accessible by multiple users from different computers at a time. My program has forms that will take input and save in MySQL. If multiple users from different computers fill forms it should be saved into mysql.
I am using VS 2013.
Please give me an idea about how to make this.
As an idea, you could make two programs , 1 called Server found on your personal PC and the other is called Client on every other user's PC, when client makes a change it calls a function on servers PC using .Net Remoting technology, and the server makes the appropriate changes to the MySQL.
So every change would affect one Database over WAN , and you can add event to each change that will invoke all users to update information.
hope to help :)

Users to fetch files remotely

I am using ADO to connect to an access database from an excel spreadsheet using code written in vb. The spreadsheet allows someone to retrieve files stored locally on my machine according to what they enter in certain cells and from interrogating the database. This has worked well which presents the frightening prospect of me now feeling encouraged!...
It is my wish to give a copy of my spreadsheet to people but retain the files and database on my own computer or a dedicated server. ( I do not want the users to be able to access anything other than a view onto the data or the files that I allow them to access). I totally appreciate their are a myriad of alternative technologies that I could and might need to achieve this. But I really am quite a simpleton and would like to be able to simply amend my connection string with something that uses an IP address and similarly with the files. Is this even possible? Can someone advise me where to even start looking for a solution if it is not? I've browsed through stuff on VPN's, application servers, ASP's etc. without even knowing if it is relevant and, as I say, I need the dumbsters solution. I'm happy to read - but what......should I look at VB.net?
A VPN would allow a similar setup to what you have now in as much as your would need to modify the connection string and file paths (to network share paths) but has drawbacks:
Users/you would need to configure a VPN client
Your machine would be the host so would need to be always-on with sufficient bandwidth
Users would be logging on to your machine so you would need to manage access rights/security
This is difficult to scale and a pain in to manage, which is something that is also true of attempting to serve Access content over the internet.
A more standard way to do this would be to:
Get an ASP.NET hosting account with SQL Server support (or set this up on your machine)
Migrate the Access data to SQL Server (which unlike Access is specifically designed to support multiple users over a network)
Update your VBA connection string and make any required changes to your SQL
Create an ASP page that reads the files stored on the server and returns their content
Modify the code you have that loads files from disk to instead query this ASP page over HTTP and read its contents
Retaining Access; you could also create a ASP page that executes queries, reads the data and converts it to XML returned to your spreadsheet for processing.

WPF or Silverlight, XML or SQL or Access, LINQ or not?

I am writing a Windows app and want to make sure I am choosing the right tools. Currently I am leaning towards WPF and XML, please let me know if I've made a good choice.
I have about 3,000 records. Each record has a Product Name and a Price columns.
All my app does is display these records in a DataGrid and allows the user to search for products by name. Meaning, if a user types 'chair' in an edit control, then only the Product Names that contain 'chair' and their prices are displayed in the DataGrid. That's it. Nothing fancy.
Should I use Silverlight instead of WPF? I understand Silverlight allows my app to run on any OS, while WPF requires Windows? Unless I create a WPF for browser project, I think.
Should I use XML or Access or SQL? Which database would make the SEARCH feature easiest, fastest, etc.?
Finally, should/does LINQ have any involvement in this project?
Thanks.
If its going to be a stand alone product i.e. installed a each computer and not networked in any way then personally I would go for a SQLCE database with a WPF client. Its up to you if you use LINQ, I quite like it but would be overkill for this app maybe.
The next stage up is a small app used by a handful of users in a network. In this instance I would use an access backend (assuming a fileserver is in place) with a WPF client application.
Right at the “top” of the scale would be something used by a lot of people and/or something on the web. In this case I would use SQL server as the backend and again a WPF client app or if you want it to run on other platforms then go for silverlight