Fog Creek Software
Discussion Board




Batch processing

I've developed a simple tracking program using asp, that runs on a central server with 8 terminals connected in different parts of the country. One of my assumptions has been proven wrong, that internet access will not be a problem.
Users are not permanently connected to the next due to the high costs. So net connections can only be done when neccessary.
I was wondering if it was possible to be able to do batch processsing, in which a user logins into central server, downloads the records from the access db that matches their username and uploads it again. This would be uploaded and downloaded from a specific table. 
Has anyone come across an asp script or program that allows you to do that.?
Any guidance on this would be most helpful. Thankyou in advance.

Drake
Thursday, July 17, 2003

Check out Microsoft Access Replication, it can be done using FTP.

Joel Spolsky
Friday, July 18, 2003

We used Access replication for a similar task and it worked like a dream - accept over a phone line.

Access replication (in version 97) is not very fault tolerant.  If the phone line drops then the database has to be rebuilt.

On the LAN, however, it was wonderful.

Ged Byrne
Friday, July 18, 2003

The thing is, it will have to be via phone line, ie Internet. As the locations of the pcs are on different islands. This replication idea is a new phenomenon to me, but I'm already taking an active interest in it after the first post.
At the end of the day, the issue is security. I just have to figure a way to allow the user to download the data from the table in the db that matches their login. Modify it, and upload it again.

Drake
Friday, July 18, 2003

Have you looked at data access pages?

Stephen Jones
Friday, July 18, 2003

hhhhmm, but isnt data access pages sort of like asp?.

Drake
Friday, July 18, 2003

I think that data access pages are .asp, but they are native to the access database in 2000 and above. They are fairly trivial to create; you'd have to work out with the ISP how to store the database though.

As I have mentioned on another thread you can find problems with productivity if anything else but simple data entry is involved.

Stephen Jones
Friday, July 18, 2003

If data access pages can allow user to fill in data, and upload it to access db on central server, with the access db appending incoming data. As well as retrieving data based on the userid, then That would be ideal.
Has anyone tried such a similar approach before?

Drake
Friday, July 18, 2003

Drake, look at the Access help file. That, or a decent Access book explains it well. And of you have any questions try the specific newsgoups.

Stephen Jones
Friday, July 18, 2003

Drake,

Also check out disconnected recordsets.  They may be exactly what your looking for.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dninvb00/html/ADORecordset.asp

"One of the most exciting developments in data access with the advent of ADO is the ability to disconnect a recordset from its parent connection. Typically, you do so to allow record manipulation on a client machine without maintaining an active connection to a database server."

Ged Byrne
Friday, July 18, 2003

Also:

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q184/3/97.asp&NoWebContent=1

Ged Byrne
Friday, July 18, 2003

I've never seen Data Access Pages actually work.  They're an odd little evolutionary dead-end of a feature, and I suspect they were developed at the behest of some MS marketing initiative that said everything had to touch the Web somehow.  Don't bother, especially since you're already using ASP.  (=

Ged's suggestion was spot-on -- ADO's disconnected recordsets were designed with the assumption that database connections are expensive, and they work beautifully in an ASP environment.

Unfortunately, while ADO will let you connect intermittently to the database, ASP inherently assumes that you have a continuous connection to the web server.  You could conceivably make this work, but:  (a) you've got to be careful not to rely on any session variables (if people are disconnecting to do their edits, then reconnecting, their sessions will inevitably time out), and (b) you've got to give them a really heavy page with enough scripting on it that they can do all the work they need to do without having to reload the page (and thus dial up again).

A desktop client (if all PCs are running some flavor of Windows, you could use VB or Access) might offer a better UI for this sort of thing -- you could download the data, do whatever you wanted with it, and then let them reconnect.  It's probably a little late to suggest that now, though.  ;>

Sam Livingston-Gray
Friday, July 18, 2003

Basically these are patterns for data processing and replication. Some deal with disconnected data.

http://msdn.microsoft.com/practices/type/Patterns/Data/default.asp

19th floor
Friday, July 18, 2003

Another thing to look at is InfoPath. It deals with data as XML files, so you can save it all locally, then update it when offline. It doesn't have batch upload however, so you either have to have the user submit when online or write a short program to upload the data yourself using the same mechanisms as if you were online (not all that hard actually).

mb
Friday, July 18, 2003

Take one look at Access replication, and then drop it like a hot brick.  I've never had any luck geting it to work reliably over any form of connection for any length of time.  If you want proper data replication then investigate SQL Server

Tom
Friday, July 18, 2003

*  Recent Topics

*  Fog Creek Home