Question

Unable to install Pega Marketing 8.3

App server Configuration:

JBoss v7

Pega v8.3

DB Server configuration:

PostgreSQL v11

I have one database with the name "pega"

It already has couple of schemas with the names

1) rules

2) data

I am trying to install Pega Marketing v8.3

Couple of pre-requisites to install the product are

1) Database instance referring to the CustomerData schema

2) Database instance referring to the ExternalMKTData schema

As prescribed in the installation guide,

1) Created customerdata schema in the same database

2) Created externalmktdata schema in the same database

3) Added both the data source in the Standalone.xml (Attached)

Issues:

1) When I create a DB instance and choose "use configuration in preference" as the type of connection, I get the following error message.

"The database is configured to get SQL connection information from preferences, but the preferences have no "url" or "name" setting for this database"

2) When I create a DB instance and choose "use JDBC URL listed below" as the type of connection, I get the following error message. (Attached the configuration)

"The datastore configuration was not found for the DB Name "customerdata" as it is not registered in the configuration map"

Although the tracer shows a successful connectivity, this error message is thrown.

Moving on with this error message, I am stopped at the time of importing (for Pega marketing installation) with the below message. (Attached)

"The datastore configuration was not found for the DB Name "externalmktdata" as it is not registered in the configuration map"

I tried adding a new reference data source (PegaRULESReadOnly), with the below changes to my web.xml and standalone.xml. But I am being stopped during the time of deploying prweb.war with error message "Services with missing/unavailable dependencies"

What am I Missing?

Thanks in advance,

Ratan Balaji.

Comments

Keep up to date on this post and subscribe to comments

December 6, 2019 - 6:51am

I referred to this post to update both the standalone.xml and web.xml to add ReadOnly datasources as both had a common exception.

Pega
December 6, 2019 - 8:56am

Currently we recommend using Connection Pooling for the ExternalMKTData DB.  To use this, there must be a datasource configured which defaults to the schema where the Marketing customer data resides (e.g. customerdata).  Depending on the database type, this can be done either by using a database user which defaults to the schema, or by specifying the default schema in the datasource. For Tomcat this is configured in either the context.xml or prweb.xml files.

Here is an example for a Postgres DB with Tomcat, specifying the default customerdata schema:

<Resource name="jdbc/mktDataSource" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql:thin://<hostname>:5432:pega" username="<someuser>" password="<password>" connectionProperties="currentSchema=customerdata"/>

 

Appropriate DB privileges must be granted to the user to allow full privileges on the Marketing customer data schema.

 

For the ExternalMKTData DB rule you would select "Use JDBC Connection Pool", and in the JNDI name field you would enter: java:comp/env/jdbc/mktDataSource

 

More information can be found in the PegaMarketing 8.3 Installation Guide

 

 

 

December 6, 2019 - 11:10am

Except the below issue, everything else is resolved once the hard coded datasources are removed from the standalone.xml. I am able to connect to customer data schema and external mkt data schema using JDBC URL connection in the Database instance level.

1) When I create a DB instance and choose "use configuration in preference" as the type of connection, I get the following error message.

"The database is configured to get SQL connection information from preferences, but the preferences have no "url" or "name" setting for this database"

 

Pega
December 6, 2019 - 1:55pm
Response to Ratan

If you want to use "use configuration in preferences" rather than connection pooling, there is additional configuration required. There needs to be a system setting specifying the datasource to use for the ExternalMKTData DB.

For example, to use a datasource called "jdbc/MKTData", configure one of the following (replace "jdbc/MKTData" with jdbc/<your_datasource>):

  • On every Pega node, within the <pegarules> tags in the file prconfig.xml, set the following:
    • <env name="database/databases/ExternalMKTData/datasource" value="java:comp/env/jdbc/MKTData"/>
  • OR
  • Create/modify this Dynamic System Setting:
    • Owning Ruleset: Pega-Engine
    • Setting Purpose: prconfig/database/databases/ExternalMKTData/datasource/default
    • Value:                    java:comp/env/jdbc/MKTData