Change the EPIM or EPX Database Password

Warning: The only characters allowed in the database password are alphanumeric, the exclamation point, or the underscore characters.

EnterWorks has two encryption methods:

  • EPIM encryption, which is performed by executing:

    <drive>:\Enterworks\EnableServer\bin\getEncryptedString.bat
  • EPX encryption, which is performed by executing:

    <drive>:\Enterworks\EPX\bin\getEncryptedString.bat

Both of these scripts are used to encrypt the passwords to the EPIM and EPX databases. In some places, however:

  • EPIM encryption is used to encrypt both the EPIM and EPX passwords, which is indicated as follows:

    • <EPIM-encrypted-EPIM-password>

    • <EPIM-encrypted-EPX-password>

  • EPX encryption is used to encrypt both the EPIM and EPX passwords, which is indicated as follows:

    • <EPX-encrypted-EPIM-password>

    • <EPX-encrypted-EPX-password>

Unencrypted passwords are indicated as:

  • <unencrypted-EPIM-password>

  • <unencrypted-EPX-password>

The procedure for changing the database password will update the create-service scripts that re-register the microservices. They are in:

<drive>:\Enterworks\enable2020\services\install

If your installation is spread across multiple servers, some files will be located on different servers. Perform the following steps on each server containing either of those folders.

To set the passwords:

  1. Stop all EnterWorks services.
  2. Get the encrypted EPIM and EPX passwords.
    Warning: The only characters allowed in the database password are alphanumeric, the exclamation point, or the underscore characters.
    1. Using the EPIM encryption script:
      <drive>:\Enterworks\EnableServer\bin\getEncryptedString.bat
      obtain:
      • <EPIM-encrypted-EPIM-password>

      • <EPIM-encrypted-EPX-password>

    2. Using the EPX encryption script:
      <drive>:\Enterworks\EPX\bin\getEncryptedString.bat
      obtain:
      • <EPX-encrypted-EPIM-password>

      • <EPX-encrypted-EPX-password>

  3. Update the shared configuration properties to set:
    epim.connection.password=<EPIM-encrypted-EPIM-password>
  4. Update the Enterworks.properties files.

    Perform a search to find all Enterworks.properties files in:

    <drive>:\Enterworks\EnableServer<drive>:\Enterworks\EPX\bin\conf\

    For each Enterworks.properties file:

    1. Update the field:
      epim.db.password=<EPX-encrypted-EPIM-password>
    2. Versions of Services Framework prior to 2020-06-21 did not encrypt the password. If the Services Framework is version 2020-06-21 or later, set the field:
      epim.db.userPassword=<EPIM-encrypted-EPIM-password>
      Otherwise, set the field:
      epim.db.userPassword=<unencrypted-EPIM-password>
  5. Update the esjdbc.properties file.

    In the file:

    <drive>:\Enterworks\EPX\bin\esjdbc.properties

    set:

    server.<EPXUID>.password=<EPX-encrypted-EPX-password>
  6. Update utilities configuration files.

    For each utility file:

    <drive>:\Enterworks\Utilities\<utility-name>\<utility-name>.exe.config

    Update the password=<unencrypted-EPIM-password> parameter in the connection string:

    <add name="EPIMConnectionString" connectionString="Data Source=<data-source>;Initial Catalog=epimME;Persist Security Info=True;User ID=<user-id>;Password=<unencrypted-EPIM-password>;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
  7. Update the microservices.
    1. Move to the folder:
      <drive>:\Enterworks\enable2020\services\install
    2. The create-scripts (create-<service-name>service.cmd) should exist in the folder. If they do not, create the create-scripts.
    3. For each of the following files:
      • create-enable-api-go-service.cmd

      • create-enable-channel-readiness-service.cmd

      • create-enable-es-indexer-service.cmd

      • create-enable-es-manager-service.cmd

      do the following:
      1. Edit the create-<service>-service.cmd script to update the password=<unencrypted-EPIM-password> parameter in the connection string:
        -dbConn=\"server=<hostname>;user id=<username>;password=<unencrypted-EPIM-password>;port=1433;database=<database-name>;encrypt=disable\"
      2. Use the create-<service>-service.cmd script, (see Using a create-service Script).
  8. Restart all EnterWorks services.