I want to embed a DB connection in my workspace without the password being saved in the workspace.
A password should not be saved in an FME workspace file. But I want the connection details to be saved in the workspace file.
What I've tried:
- If I leave the password blank, the workspace does not run because the connection requires a password. I could save the workspace with a blank password. But if I want to run the workspace, I need to edit the Reader/Writer or Transformer properties and enter a password. FME detects this as unsaved changes in my workspace and it could easily happen that the workspace gets saved with the password by accident. This is a stupid solution.
- I could create a user paramter for the password field. When I run the workspace, I have to make sure that the "Save As Parameter Default Values" option in the parameters dialogue is disabled. To ensure that, I could add a custom message to the parameters dialogue telling the user to be careful and not to save the parameter values. This seems to be the best solution for my problem and it works great except for one issue. It doesn't work with Feature Caching enabled. If the "Save As Parameter Default Values" option is disabled, the execution finishes and all Feature Caches instantly turn yellow. This means that you cannot continue executing only selected Transformers using the Feature Caches of previous Transformers. All Transformers with yellow Feature Caches have to be executed again. Also this creates the impression that the result of my Translation is not correct, because usually when the Translation is succesful and I didn't edit any of the Transformers, the Feature Caches should be green. In my opinion it's really stupid that an unsaved user parameter automatically invalidates the Feature Caches of the Transformer where it's used and all following Transformers.
Is there actually a good solution for embedding DB connections in a workspace? Saving the password inside the workspace cannot be considered as a good solution.

