I'm looking at synchronizing the AFTables across multiple AF servers (and databases). All the system are connected via our corporate WAN.
The two easiest options are to either import the data on a scheduled basis (the data is pretty static configuration data) or use a linked table. The basic idea is that I will have a single SQL server and all the AF Tables connect to that server across the WAN. The data has to be local to the operation (therefore the AF server) to make them more resilient to WAN failures and it will improve the performance. These tables are small, no more than a hundred rows or so (it is really just configuration data). Therefore, my preference is to use the imported tables with a refresh.
Unfortunately I've hit a small snag. The AF SDK doesn't appear to expose the connection and query strings for imported tables in a nice clean manner; there are properties for external linked tables. Digging around I found that the connection string and the query are stored in an ExtendedProperty field (see screenshot below). Am I missing something?
With 20 or so AF servers it is essential that this is done programmatically; I will setup the tables on one central AF server and this configuration will be replicated across all the servers using our AF tools (custom developed).
I do have some other related questions:
- What will AF do if it attempts to refresh the table and it cannot connect? My hope (I haven't tested this yet) is that AF will retain the last set of data until it can successfully refresh.
- Are the updates atomic; i.e. all or nothing?