How to obtain DBReader account to retrieve data from DataMart SQL Table
Please note: FluentPro DataMart is now based on EPM Pulse technology and therefore it shares some parts of user interface with FluentPro EPM Pulse. However, the product is currently in the process of rebranding and afterwards Datamart will be available as a standalone product with its own interface.
In some cases it might be necessary to access SQL Tables that contain data synced by EPM Pulse DataMart.
EPM Pulse DataMart SQL Tables names change after each data synchronization. As you are trying to access SQL Tables via Admin account, all prefix-related schema names are also shown. To avoid any difficulties related to tables names changes you can use the internal DBReader account, which is created by EPM Pulse Datamart during the tenant creation. In this case schema names will not be shown, and you can use general SQL queries - they will be working after each sync.
To find the account name perform the following:
1. Open SQL Management Studio.
2. Navigate to Databases -> Tenant _tenandID -> Security -> Users.
3. Find the account that is displayed in the following format – epmpulse_db_reader_tenantUID_UID.
To find the password to the epm_db_reader account follow these steps:
1. In SQL Management navigate to Databases -> EPM Pulse Config -> Tables.
2. Right-click on dbo.ReportingConnection -> Select Top 1000 Rows.
3. Password can be found in the DbPassword column.
Also, you can get DBReader account password for your DataMart tenant using this query:
USE [EPMPulse_Config] GO SELECT [Tenant].[Name] AS 'Tenant Name', [IntegrationPoint].[Name] AS 'Connection Name', ('Tenant_' + REPLACE (([ReportingConnection].[TenantId]),'-','') ) AS 'Tenant Database Name', ('epmpulse_db_reader_' + REPLACE (([ReportingConnection].[TenantId]),'-','') + '_' + REPLACE (([IntegrationPoint].[Id]),'-','') ) AS 'Reporting Account Name', [ReportingConnection].[DbPassword] AS 'Reporting Account Password' FROM [ReportingConnection] INNER JOIN [Tenant] ON [ReportingConnection].[TenantId] = [Tenant].[Id] INNER JOIN [IntegrationPoint] ON [ReportingConnection].[TenantId] = [IntegrationPoint].[TenantId] WHERE [DbPassword] IS NOT NULL