Link to home
Start Free TrialLog in
Avatar of JustinByrom
JustinByromFlag for United Kingdom of Great Britain and Northern Ireland

asked on

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

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.
Avatar of Mohammed Nasman
Mohammed Nasman
Flag of Palestine, State of image

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
Avatar of BlackTigerX
BlackTigerX

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)
ASKER CERTIFIED SOLUTION
Avatar of BlackTigerX
BlackTigerX

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of JustinByrom

ASKER

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 ?
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
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

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
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 ...
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
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
>>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
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