views:

85

answers:

4

Hey,

So I'm inexperienced in hosting DB's and I've always had the luxury of someone else getting the db setup.

I was going to help a friend out with getting a webpage setup, I've got experience in Asp.Net MVC so I'm going with that. They want to setup a search page to query a db and display the results. My question I have is in getting the DB setup and hosted. They currently just have the Access DB on a local computer. There is basically only one table that would need to be queried for the search.

What is the best approach to getting this table/db accessible? They would like to keep the main copy of the db on the local machine, so copying the entire db over to the hosted site would be time consuming, could the lone table needed be solely copied to the host? Should I try to convince them to make changes on the hosted db and just make copies of that for their local machines? Any suggestions are welcome, Again I'm a total noob when it comes to hosting databases.

Thanks

Added: They are using a MS Access 2000, and the page will have access restrictions. Thanks for the responses.

+5  A: 

How about SQL Server Express? I think you can do a remote connect from Access and just push the data over from Access.

I wouldn't use Access on a web server in any case.

Zan Lynx
Hmm, sounds like a good idea. How difficult would this be? Would I need to reconstruct the db tables/structure in the Express DB before moving things over? I would appreciate any more info on this
Mitciv
I'd second the recommendation to use a server database engine in preference to Jet/ACE.
David-W-Fenton
+2  A: 

I would strongly recommend against access from web work, its just not designed for it and given that SQL server express is free there is no reason not to give it a go.

You can migrate the data over by using the SQL server upsizing wizard, here is a link for help on using that feature

http://support.microsoft.com/kb/237980

Kevin Ross
+2  A: 

It depends on what you mean by web work? Access 2010 can build scalable browser neutral web applications. They can scale to 1000's to users. In fact, you can even park the web sites on Microsoft's new cloud hosting options, and scale out to as many users as you need.

Here is a video of an application I wrote in access 2010. Note how at the half way I run the same application including the Access forms in a standard web browser. This application was built 100% inside of the Access client. The end result needs no ActiveX or Silverlight to run.

http://www.youtube.com/watch?v=AU4mH0jPntI

So, the above shows that access can now be used to build scale web sites (you can ignore the confusing answers by the other two posters here they are not quite up to speed on how access works or functions).

However, for your case, I would continue to have the access database on the desktop. You can simply link to tables that are hosted on the web server. Those tables can exist in MySql, or sql server. As long as the web site supports external ODBC connections (many do), then you can thus have the desktop application use the live data from the web server. If connections to the live data at all times is a issue, then you could certainly setup something to send up new records (or the whole table) on some kind of interval or perhaps the reverse, and pull down new records on a interval from the web site (depends which way you need to go). So, connecting to MySql or sql server is quite easy as long as the web hosting and site permits external ODBC connections. I do this all the time, and it works quite well.

As mentioned, new for access 2010 is web site building ability but that does requite Access Web services running on SharePoint.

Albert D. Kallal
+1 on answer and video.
Jeff O
A: 

You don't need to upgrade to Access 2010. One option is to use the EQL Data plugin to sync the database up to the server. Then you can write an asp.net, php, or whatever application that queries the table using the EQL API and prints the results however you want. This kb article describes how to use the EQL API from a web app.

The nice thing is that the database is still totally usable (and at full speed) even when you're not online, and then you can sync the new data up to the web occasionally. It only uploads the changes, not the entire database every time, so it's fast.

Disclaimer: I work at EQL Data so I'm a bit biased. But this kind of use case is the whole reason the company exists.

apenwarr
While your product sounds nice, the page says "EQL Access OnWeb is the only solution that allows you to run Microsoft® Access™ applications inside a web browser." and this is patently not true. A2010 changes this equation entirely, but even with earlier versions, you could run the web browser plugin to run a Windows Terminal Server session inside the browser. I'm not tempted to read much further when the first thing I see is so overstated. In any event, it also does a lot more than what is asked for in this question -- only data is important here.
David-W-Fenton
The EQL product allows you to access the online data using web APIs besides just displaying the Access UI.
apenwarr