[AccessD] I Need Some Ideas

DWUTKA at marlow.com DWUTKA at marlow.com
Wed Aug 17 11:38:42 CDT 2005


Nope.  Here's the scenario:

Main Service (runs on any NT machine on the subnet...listens to whatever
port you want to designate with UDP).  Has a simple table with 'command' and
'return' values.  An incoming 'command' is cross referenced to the 'return'
values list and the return value is sent back.

Control program.  'Finds' the Main Service and allows for changing the
commands and returns.

Added code for a project.  Scans the subnet for the Main Service.  Sends a
designated command, and gets the return.  Uses the return value to relink
tables (or whatever else you want to do).

Advantages.  There doesn't have to be any hard reference at all.  With UDP,
that project I mentioned on the OT list scans our entire subnet is a split
second.  Not kidding, it looks instantaneous, but I'm sure it is closer to
half a second.  Our subnet was 255.255.254.0 (512 addresses), but a few
weeks ago it shifted to 255.255.240.0 (4096 addresses), and there is no
significant change in 'scan time'.  The advantage of 'scanning' is that the
Main Service could be placed on any machine, and moved at will.  And the
'added code' portion to an Access project wouldn't care what subnet it's on,
as long as it has the 'main service' in the same subnet.

Practical example:

Command: 'InventoryDBPath'
Return: (At company 1):'\\SomeServer\SomeShare\AccessDB\Inventory.mdb'
Return: (At Company 2):'T:\InventorySystem\Databases\Inventory.mdb'
Return: (At Developer's site):
'D:\ProjectDatabases\Inventory\Inventory2a.mdb'

Now, with the added code in the Front End .mdb, the exact same .mdb can be
run in all three places, and the tables would be automatically relinked with
no prompting for information.  If a local site needs to move the database,
simply copy it to the new location, 'update' the return value (using the
control program), and the next time the front ends are started, they are
linked to the new location.

To show you the comm portion of this, I just whipped up two sample projects
(a client and a server).  You can download them at
http://www.marlow.com/UDPTest.zip .  A few things to note with these
projects.  UDP doesn't jive well on the same machine.  So if you run the
server and client on the same machine, you're not going to be able to send
information through UDP.  TCP to the rescue on that.  You can trap the
specific error when the client and server are on the same machine.  So in
this test project, if you run both .exe's on the same machine, it fails over
to a TCP connection, which does the same thing as the UDP process. (The
server .exe has a text box to put in sample data, and it sends the data to
the client when 'asked'.  Another thing to note, is that when you press the
button on the client service, there are two 'issues'.  One, for the sake of
development speed, I have it build the subnet list when the button is
pressed.  So that is responsible for about half of the delay (depending on
the size of your subnet).  Here at work, we have 4096 addresses, so there is
about a half a second delay in getting a response.  The other half is
scanning the subnet.  The delay would be reduced to a quarter of a second if
you built the subnet collection on load, which would speed up future
'scans'.  The other issue is that with UDP, it is a connectionless protocol,
and since it scans the entire subnet, if the server has multiple IP
addresses, it would receive multiple return hits.  To compensate, it only
does something for the first 'hit'.

Drew


-----Original Message-----
From: Bryan Carbonnell [mailto:carbonnb at sympatico.ca]
Sent: Wednesday, August 17, 2005 8:25 AM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] I Need Some Ideas


On 16 Aug 2005 at 11:29, DWUTKA at marlow.com wrote:

> How about a master table-linker service?  Create a service that can be
> run on any machine in the network, which 'knows' the location of all
> linked tables.  One module in the database runs at startup, 'scans'
> the network for the 'server' which tells it if it needs to relink it's
> tables or not.

Besides running as a service, how would that be much different from 
any of the other relinkers out there?

Wouldn't something that scans the network put a heavy load on the 
network?

-- 
Bryan Carbonnell - carbonnb at sympatico.ca
If you're too open-minded, your brains will fall out.


-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list