I have two RBase databases A & B.
They are separate data sets with the exception of one table, which is needed by both. This table is rather small, only 18,158 rows at present, but grows every day. Once a month, older data is archived off. So it does not build over 20,000 rows. Some time ago, after a few posts, I made the decision to keep the two databases separate and SAttach the one table via RBase standard ODBC driver to data base B. Both database applications insert records and modify records into this one table constantly throughout the day by several users. Any inserts or updates are for one record only. No "mass" data inserts or updates. No one r ecord would be accessed by multiple users at the same time, but could be accessed by different users at different times. Database A had run literally years without any corruption issues and I am now seeing a somewhat intermittent problem with the one shared table and it may be related to some type of access timing via the ODBC driver. To investigate I did the following from the native database A: Browse all from SkidData where Serial# in (19006,19007) - returns results immediately Browse all from SkidData where Serial# = 19006 - returns results immediately from the SAttached Table in database B: Browse all from SkidData where Serial# in (19006,19007) - returns results in 1 min. 40 sec. Browse all from SkidData where Serial# = 19006 - return results immediately (Serial# is an indexed column.) The above shows that the two databases certainly access the one table differently . Enough back ground, now for the problem... The table has an autonum column to generate a sequential number and then commands to immediately update the Serial# column to the autonumbered column. (I need to keep the same Serial# in case of a data reload) On occasion, the serial# gets updated incorrectly (duplicated) and on occasion I am getting corruption in the shared table. So my questions are: 1) When installing Rbase upgrades, does the ODBC driver automatically get updated as well? I am assuming it does. (All users are Terminal Service thin clients, so only one computer is actually involved. I do not have to worry that one PC did not get updated while others did, i.e. mismatched versions.) 2)When SConnecting , I am using a DSNless connection. I am assuming when updating, I do not have to modify the SConnect line in any manner? (Concerning same version, just new release installs) 3)When Sattaching I use : SAttach SkidData as SkidData using Serial#. Is there anything else I should consider? After a release update, does the table need dropped and reattached? 4)To update the Serial# column to the Autonum column, the native database uses : Update SkidData set Serial# = LabelNo WHERE COUNT = INSERT Since the Count = Insert does not work on ODBC tables, I use: Set var vSerialNo = (Max( LabelNo )) in SkidData where primaryMO = . vMO Update SkidData set Serial# = . vSerialNo where LabelNo = . vSerialNo (The above logic is correct in that vMO will always be a unique constraint) There is a date/time stamp column in the SkidData table. Whenever I see a problem, the time stam p is always the same or one second difference in the problem data rows, which indicates the problem is related to a concurrent insert or update operation. Unless someone can point out some other considerations, I am to the point I will have to merge the two databases to alleviate the ODBC connection as I have found no other commonality and it appears suspect. (N o hardware or network issues, lan cards etc. etc. in this case, as this all runs on one computer. ) Any thoughts appreciated . Thanks -Bob

