Automated masking and exit is controlled by providing the appropriate command line options when the application starts. The options required to automate the masking process are:
<DummyServerName>[DummyDatabase]=<RealServerName>[RealDatabase]
The Database Substitution Parameter section below contains more information and examples.
<DummyLogin>@<DummyServerName>[DummyDatabase]=<RealLogin>/<RealPassword>@<RealServerName>[RealDatabase]
The Login Substitution Parameter section below contains more information and examples.
If the Masking Set filename is specified and the -R option is omitted then the Data Masker application will simply load the Masking Set and return to manual operating mode.
Exit Codes
The exit code value is returned using the Windows standard mechanisms and can be determined via any of the available Windows methods. The most common way to view the return code is by using the DOS echo %errorlevel% command. The script output below shows such an operation. The 301 exit code means the masking set execution failed with an error.
C:\Program Files\Data Masker (Sql Server)>start /wait Datamasker.exe C:\Net2000\DMS_TestSets\DMTest.DMSSet -R -X C:\Program Files\Data Masker (Sql Server)>echo %errorlevel% 301 C:\Program Files\Data Masker>
There is an important consideration which must be noted when launching Windows applications from a command line. The Command application will, by default, launch a Windows application as a separate process. Once started, the Command application will not monitor the running Windows application process. In effect, this behaviour means that immediately after launching the Windows application, the Command application will return to the DOS prompt and continue with the next command statement. It is not possible to retrieve the exit code in such circumstances and the next operation in the Command application will begin to process long before the masking set has completed.
If it is necessary for the Command line application to wait until the masking set has executed (and the Data Masker software has shutdown) before it executes the next operation, then the Data Masker software must be launched with the DOS start /wait command. The example below illustrates these concepts:
C:\Program Files\Data Masker (Sql Server)>REM the errorlevel will be set and the next command will only C:\Program Files\Data Masker (Sql Server)>REM be performed once the masking set is complete C:\Program Files\Data Masker (Sql Server)>start /wait Datamasker.exe C:\Net2000\DMS_TestSets\DMTest.DMSSet -R -X C:\Program Files\Data Masker (Sql Server)>echo %errorlevel% C:\Program Files\Data Masker (Sql Server)> ... perform next commandC:\Program Files\Data Masker (Sql Server)>REM the errorlevel will always be zero and the next command will be C:\Program Files\Data Masker (Sql Server)>REM performed immediately without waiting for the Data Masker software C:\Program Files\Data Masker (Sql Server)>REM to complete C:\Program Files\Data Masker (Sql Server)>Datamasker.exe C:\Net2000\DMS_TestSets\DMTest.DMSSet -R -X C:\Program Files\Data Masker (Sql Server)>echo %errorlevel% C:\Program Files\Data Masker (Sql Server)> ... perform next command
<DummyServerName>[DummyDatabase]=<RealServerName>[RealDatabase]
For example, a Rule Controller might be configured with a server name of XXXX, and a database name of YYYY. In that case, a command line with the option -D XXXX[YYYY]=XANTHE\MSSDMTEST[DMTest] would check each Rule Controller in the masking set and substitute the real server and database information of XANTHE\MSSDMTEST in place of XXXX and the database name DMTest would be substituted in place of the dummy value YYYY . The dummy values of serve as place holders for the real information and allow the appropriate Rule Controller to be updated at run time. A masking set can have multiple Rule Controllers. In that circumstance, multiple substitution parameters can be configured as shown below:
-D XXXX[YYYY]=XANTHE\MSSDMTEST[DMTest] -D AAA[BBBB]=CHRYSE\SQLSERVER2000[Pubs]
The Login Substitution Parameter
<DummyLogin>@<DummyServerName>[DummyDatabase]=<RealLogin>/<RealPassword>@<RealServerName>[RealDatabase]
For example, a Rule Controller might be configured with a login of FOO, a server name of BAR, and a database name of ABCDB. In that case, a command line with the option -S FOO@BAR[ABCDB]=DataMasker/ItIsSecret@XANTHE\MSSDMTEST[DMTest] would check each Rule Controller in the masking set and substitute the real login information of DataMasker/ItIsSecret@XANTHE\MSSDMTEST in place of FOO@BAR and the database name DMTest would be substituted in place of the dummy value ABCDB . The dummy values of serve as place holders for the real information and allow the appropriate Rule Controller to be updated at run time. A masking set can have multiple Rule Controllers. In that circumstance, multiple substitution parameters can be configured as shown below:
-S FOO@BAR[ABCDB]=DataMasker/ItIsSecret@XANTHE\MSSDMTEST[DMTest] -S AAA@BBB[ABCDB]=DataMasker/SecretPassWord@CHRYSE\SQLSERVER2000[Pubs]
Examples