1. what was the masking rule you are using here?
2. Are using standard Name dictionary file that comes part of installation?
3. Make sure the Share storage table option is CHECKED in under Plan Settings-->Advanced Settings.
4. Seed value along with input values will create a hash value which matches with the substitution.dic file SNO and assign the corresponding value. Seed value will make sure that it always generates the same hash value and pull the same SNO from the dictionary file so that the masked name will be consistent al the time.
If you use exactly the same masking rule for all these projects with identical settings, then you should be able to get consistent masking results (otherwise masking across several tables of course wouldn't make any sense). However, that requires that the lookup table (=substitution table) is the same for all masking processes.
I have checked Share storage table option is CHECKED in under Plan Settings-->Advanced Settings and ran it in the debugger, I am getting same masked name value for a patient but in the target the row never gets updated.
I have netezza source and netezza target. I am using netezza bulk writer.
I am using same Masking rule, seed value is 501, same dictionary
I am using update as update and insert option in the session properties.
I will try truncate and load next.
Netezza works better with instream. Neezza does not use the keys while updating even though you define a key in the plan.
I would sugget you to do instream.
I have tried In-stream masking on Netezza from Prod to QA. I have picked 2 tables in netezza from different databases. 2 Tables will have similar/different column names, but data would be similar(patient demographics). I have used same masking rules and I have generated a single plan for two tables. I have checked share storage table option and I am able to get consistent masking results across the 2 tables.
I took similar tables in SQL Server and I have to do In-place masking. I used same masking rules for all the similar PHI columns. I am getting different masked values.
In Netezza (In-Stream)(different volumes)
Table1: Patient A---->(masked to) Patient B
Table2: Patient A---->(masked to) Patient B
In SQL Server (IN-Place)(different volumes)(different Project Folder)
Table1: Patient A---->(masked to) Patient C
Table2: Patient A---->(masked to) Patient C
I see, the storage connection is similar for all the plans generated.
Same seed value=501 and same masking rules.
*Note: [I tried this test lastly; I have created a subset and added all the 4 tables from Netezza and sql server and managed to generate a plan and changed connections config as per IN_PLACE and IN_STREAM in the session level in the same workflow and Executed. I got consistent results here for all 4 tables]
But I can't do the above as I need to mask them seperately when needed.