?
Solved

Can I set up an Access [ADO] database on web space, and use it as my application database ?

Posted on 2005-03-31
12
Medium Priority
?
158 Views
Last Modified: 2010-04-05
Okay, I may be being really daft here, but I have written an application for a client, which uses an ADO Access database.
Each workstation in his office then has a copy of the application, which they can use to log into the database (which sits on one of the workstations, as it is a peer to peer network) and work simultaneously.

They are soon to move offices and he has asked whether it would be possible to be able to access the database when they are (a) at home, (b) at client sites and (c) in the office.

It stirkes me that I should be able to plonk the MDB file in some webspace, and access it over the web.  Am I being too adventurous ?

The application is written in Delphi 7 Professional.
0
Comment
Question by:JustinByrom
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 2
  • 2
  • +2
12 Comments
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 13673513
I have two suggestions for you

1. Build web application that read/write your database, Delphi 7 pro has Intraweb, which make it easy for you to build Web App with DB support

2. Create your application as Multi-Tier, so you could have more than a way to connect to your application (LAN or WAN)

I'm not sure if Delphi 7 Pro have a support for DataSnap and Remote DataModule
0
 
LVL 13

Expert Comment

by:BlackTigerX
ID: 13673570
the easiest option would be to create a WebService to communicate with the database, you put your web service on the web server wherever this database will live, and you can keep the exact same application they use right now, and the code will be almost the same, except the functions will live on the server, but this is all transparent for your application, you just call the function like it was in your own program, that's why I love SOAP

the other option, as suggested is to rewrite your entire application in web page, you can use IntraWeb (not free), WebSnap (included since Delphi 6, but not documented) or Delphi.NET (best option, but you need Delphi 2005)
0
 
LVL 13

Accepted Solution

by:
BlackTigerX earned 750 total points
ID: 13673608
here are some links for implementing SOAP (Web Services)

http://www.agnisoft.com/white_papers/advancedws/
http://www.delphi3000.com/articles/article_2566.asp

of course, you can always ask questions about SOAP here too
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:JustinByrom
ID: 13673617
BlackTigerX,

I like the idea of keeping the existing application, not least because of severe time constraints (ie : they want first draft next week !!!).

I have Delphi 8, but have not got round to using it yet, again through time constraints.

Having never programmed for web before, can you point me in the right direction as far as creating a WebService, please ?
0
 
LVL 5

Expert Comment

by:DeerBear
ID: 13674776
Justin,

I think you have two main choices here:
1) Use RDO(NOT RECOMMENDED)
2) Use an "interfacing" XML file which will let you interact with the ASP pages or a custom TCP server.

I would suggest you to implement 2) for these reasons:
1) Using XSLT you can transform that in HTML or any other format
2) You can still use ADO for your processing(ADO has a way to persist data in an XML file, just use that)

Now, this should get you started, but if you want to delve into further details, just drop here a line :D

Cheers,

Andrew
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 13687207
Hi

I think you can access your Access database using ODBC using the IP address of your Webserver.

If you are only using tables (no embedded queries in your Access database) then you can scale it to the MSDE (SQLServer).  You then only need to have an ISP running Windows Servers and offerring SQLServer space.  You can then connect to the SQLServer using the IP address.

The SQLServer option definetly works - I have used it.  make sure you have a good ISP as on one service I used there were 1,000 databases on the server and it was too slow!

Of course you could rent a server exclusively with SQLServer but this is only for the rich.....

If all your users have broadband access then you can easily set up a VPN - virtual private network.  You only need to have routers at each loaction with VPN installed - you can buy these for $200 each - no problem.

The VPN is the best solution as your clients can share word document etc.  If you install a low end mail server (Magic Mail is great) you can even have people work from home and access their mailboxes - you need broadband at all locations for this however.

SQL Server or VPN are your easiest  have fun!

Voodooman
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 13687228

Hi

Accessing SQLServer from client sites would be no problem if you had a laptop and network or a wireless access point or you client installed at the Client's site - otherwise you would have to have a web based front end as suggested by others - not what you are looking for.

You could of course access your SQLServer over a dialup connection (not as slow as you might think) - we used to have people dialling into a big SQLServer database from home 8 years ago.

Voodooman
0
 
LVL 1

Author Comment

by:JustinByrom
ID: 13699889
Have exhausted many options and drawn a blank so far.  It seems I will need to set up VPNs to get it to work properly.  Very frustrating.  I (naively) thought that storing the database remotely would be no problem at all, but far from simply being difficult to implement, even the web space hosts don't even seem to know exactly what is required !!!  VPNs rely largely on certain ports being opened up on the client end, which, if at customer sites, may not be possible to enforce.

I have a Delphi 7 application that talks to an MS Access database using ADO.  All I want is to hold my database online, and access it instead of locally !

Seems like I'm being forced to convert it to a true web-based application and host it all (app + DB) on the server.  Bring on the Delphi .NET books ...
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 13700190
Hi

Er why?

Convert your DB to SQLServer and rent some sql server space - peanuts cost - I use Fasthosts myself (very good).

You can use a utility like MSDE MANAGER from http://www.valesoftware.com to create your tables.

Then just point your ADO connection at the IP address (which your ISP will give you). A computer name is just a translated IP address anyway isn't it?

Anyway I dont see why you can't open an Access Database that is simply on a Website in a password protected directory.  As long as you have a session open in a browser and keep it open, you can open your access database.

Have you tried simply putting a database on to Internet (on a website) and trying to open it with Access by giving an address of HTTP:\\Mywebsite\data\mydb?

Alternatively just put it in a web directory open the directory with IE with FTp and double click the database - bet a buck that it opens on your PC - can't is a word like never - until you try you will never know....

I will try and do it tomorrow night (can't tonight as have to pick wifie up from train).

Voodooman
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 13701764
Hi

Here you go!

Open this link and it will open an access database right in front of your eyes!

You will need Access 2000 on your PC to open to open it!

http://software4biz.org.uk/data/test.mdb

Click the link and when it says download or open - just open it and it will open over http:// in read only mode.

You will need to give your clients read/write access over the directory  (you can do this with your FTP client) if you want to modify the data.

To keep it secure (on Windows Server) pay a couple of bucks (or nothing) and your ISP will setup an NT directory with user names and passwords.

Interestingly I can add records over FTP but when I close the database and reopen it - they are gone! Probably a permissions thing....

Good Luck

Voodooman
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 13704500
>>Bring on the Delphi .NET books ...
You don't have to use .Net to create web application with Delphi

You could use Intraweb that bundled with Delphi 7 & 2005, it's the easiet way to create full web application with database support, and you could use many of your code in the web application

Developing with Intraweb is more straight forward than ASP.net for Delphi developer, you don't have to know anything about web to start developing for it
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 13704963
Hi

With Intraweb don't you have to have an Intraweb enabled Server? This means renting and maintaining your own server - if you are doing this why not just put the Access database up there?

As Regards VPN.

You dont have to worry about security as the VPN does open ports but holds them secure (that' why its called a 'Private Network'.

Anyway why not just have a server and another broadband connection in the office and then the only way into the database is from the Internet.  Cost in the UK £200 for the PC base unit (use a £10 KVM switch and you dont need another Keyboard or monitor) and £19.99 a month for the broadband connection - no big cost when there is th ebenefit that people can access it from home or remotely.

Think outside the box.

Voodooman
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses
Course of the Month13 days, 8 hours left to enroll

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question