![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM Client/Server » View Thread |
Messages 1 to 6 of 6 total |
![]() |
Wed, Oct 12 2016 9:31 PM | Permanent Link |
Shedden | Hi All,
Suppose I have two companies, C1 and C2 that each have their own databases on the DBISAM server machine. Database DB1 points to tables in a DB1 folder and likewise for DB2. The permissions are set up to isolate the two companies data access. The client application is identical for both companies and has a command line parameter to resolve which database it should use. C1 users have remoteDb=DB1, C2 users have remoteDb=DB2. If company C1 and C2 merge, can I merge the table data from folder DB2 into folder DB1, and then change the DB2 database "pointer" to the DB1 folder (I now have two database definitions in the server admin pointing to the same folder). I then grant access to the C2 users to DB1. If this is possible, I could merge the two companies seamlessly in the background without having the C2 clients edit their command line parameters. Does anyone forecast any issues with this? Thanks in Advance! Jim Shedden |
Thu, Oct 13 2016 1:55 AM | Permanent Link |
Roy Lambert NLH Associates ![]() | Shedden
Before its possible to answer that question in any way other than - yes you can write code to do that - we need to know the structure and relationship of the tables. Possible problems: 1. duplicated record keys 2. deduplicating data 3. kicking everyone off C1 & C2 while you do it 1. can mean that you have to go through the database and alter the primary key for all master tables and make sure those keys are used as the foreign key in any linked tables 2. you have to figure out some way of either positively identifying duplicates (eg for a customer table it might be company name, phone number and address) and merging them and subsidiary data or flagging potential duplicates for user action. Roy Lambert |
Thu, Oct 13 2016 10:39 AM | Permanent Link |
Shedden | Hi Roy,
Thank you for your prompt response and very important reminders. For this discussion, assume that C1 has only Region1 data and C2 has only Region 2 data with the region being part of the primary key for all tables. The records can merge without conflict. I usually hash a largeInt primary key with a region code, month code, and questionnaire number. I can look at a single field in a record and tell at least where and when it was recorded. This also helps to prevent collisions that can occur when questionnaire numbers are reused. The data originates from other systems that will cause this to happen but not within the same region for several months. To better ask the question, is there any issue with the server having two database aliases pointing to the same data set? Would it have any concurrent access issues that I might not be considering? Some of the end users don't consider themselves computer literate and get nervous when asked to make even a simple configuration change. This would be a temporary solution that would be transparent to them. They would all just see more data, which always makes them happy! Thanks again! Jim Shedden |
Thu, Oct 13 2016 11:16 AM | Permanent Link |
Roy Lambert NLH Associates ![]() | Shedden
>To better ask the question, is there any issue with the server having two database aliases pointing to the same data set? Would it have any concurrent access issues that I might not be considering? That I have no idea of. I never used c/s when I was using DBISAM. I think that since in DBISAM a database was simply a file path and its multi user you should be OK. Roy |
Thu, Oct 13 2016 1:00 PM | Permanent Link |
Raul ![]() | On 10/13/2016 10:39 AM, Shedden wrote:
> For this discussion, assume that C1 has only Region1 data and C2 has only Region 2 data with the region being part of the primary key for all tables. The records can merge without conflict. I usually hash a largeInt primary key with a region code, month code, and questionnaire number. I can look at a single field in a record and tell at least where and when it was recorded. This also helps to prevent collisions that can occur when questionnaire numbers are reused. The data originates from other systems that will cause this to happen but not within the same region for several months. > To better ask the question, is there any issue with the server having two database aliases pointing to the same data set? Would it have any concurrent access issues that I might not be considering? That should be fine since DB is just a logical construct to provide folder access. We have used this ourselves with 2 database names mapping to same folder. Raul |
Mon, Oct 17 2016 12:52 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | James,
Sorry for the delay in responding - I missed this question last week. << To better ask the question, is there any issue with the server having two database aliases pointing to the same data set? Would it have any concurrent access issues that I might not be considering? >> Yes, that will be fine, and DBISAM can manage that without issue. Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Wednesday, August 14, 2024 at 07:31 PM | Privacy Policy![]() © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |