Configuring the source database for BIX command-line extractions

Configure the source database by editing the prbootstrap.properties and prconfig.xml files in the configuration directory of your BIX distribution to add database connection settings that specify Pega Platform database from which you extract data. Configuring the source database permits command line extractions

The prconfig.xml file contains sample database connection settings for an SQL database that you can modify for your Pega Platform database.
Note: The following steps outline the procedure for specifying typical database connection settings. Consult your database administrator (DBA) to resolve requirements that are specific to your installation. For more information, see the Pega Community article: How to configure non-J2EE database connections in the prconfig.xml file.
Before you begin: Before you run a BIX extraction process from the command-line, you must accomplish the following tasks:
  • Create a BIX Extract rule. Run the extract as a user that belongs to the same access group as the user that runs the Pega Platform web node. For details, see Creating and running an Extract rule. Note the following BIX extraction information:
    • The label of the Extract rule
    • The output format of the extract files (CSV, XML, or Database Schema)
    • The extraction directory where you want to place the extract files
  • Access the following files within the distribution directories of Pega Platform:
    • PRPC-8.x.x-8xx\Additional_Products\BIX\config\prconfig.xml
    • PRPC-8.x.x-8xx\Additional_Products\BIX\prbootstrap.properties
  • Download your appropriate JAR file for your source database and place it in the following directory:
    • \PRPC-8.x.x-8xx\Additional_Products\BIX\lib
  • Access the following database information:
    • The database type (PostgreSQL, Oracle, IBM) that is used for the source database, including the following:
      • The Java Database Connectivity (JDBC) URL. For more information, see your database documentation.
      • The associated JAR file for your source database driver downloaded in the lib folder of your distribution directory.
      • The database driver class for the source database. For more information, see your database documentation.
    • The rule schema of the source Pega Platform database.
    • The data schema of the source Pega Platform database.
    • The username and password credentials for the source database. For more information about configuring a database using JDBC URLs, see Creating database instances for JDBC URLs.
  1. Open the prbootstrap.properties file with your text and source-code editor, such as Notepad++.
  2. Uncomment (remove the # symbol) from the following lines:
    com.pega.pegarules.bootstrap.allclasses.dbcpsource=example.oracle 
    example.oracle.url=jdbc:oracle:thin:@hostname:1521:rules11g 
    example.oracle.jdbc.class=oracle.jdbc.OracleDriverle.oracle.username=<username>
    example.oracle.password=<password>
    com.pega.pegarules.bootstrap.allclasses.schema=<rule schema>
    com.pega.pegarules.bootstrap.datatables.schema=<data schema>
  3. Enter your source database information to the elements in the uncommented lines.
    Replace example and oracle in each element with your database name and the database type as in the following examples. Include angle brackets (<>) as shown in specific input values.
    1. For the com.pega.pegarules.bootstrap.allclasses.dbcpsource element, enter NameForDatabase.DatabaseType.
    2. For the NameForDatabase.Database.url= element, enter the Database URL.
      For additional database URL details, refer to your database documentation.
      For example: 
      Database URL examples
      Database type Driver class
      Oracle jdbc:oracle:thin:@//serverName:port/service-name-or-SID
      IBM jdbc:db2://serverName:port/dbName
      SQL Server jdbc:sqlserver://your_sql_server_host:1433; SendStringParametersAsUnicode=false; SelectMethod=cursor; ProgramName=${NodeName}:${SystemName}.${ConnectionID}r
      PostgreSQL jdbc:postgresql://localhost:5432/dbName
    3. For the NameForDatabase.Database.username=<username> element, enter Username for database connection.
    4. For the NameForDatabase.Database.password=<password> element, enter Password for database connection.
    5. For the Database.jdbc.class= element, enter Database driver class.
      For additional database driver details, refer to your database documentation.
      For example: 
      Database driver class examples
      Database type Driver class
      Oracle oracle.jdbc.OracleDriver
      IBM com.ibm.db2.jcc.DB2Driver
      SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver
      PostgreSQL org.postgresql.Driver
    6. For the com.pega.pegarules.bootstrap.allclasses.schema= element, enter <rule schema of source database>.
    7. For the com.pega.pegarules.bootstrap.datatables.schema= element, enter <data schema of source database>.
  4. Save and close the prbootstrap.properties file.
  5. Open the prconfig.xml file with your text and source-code editor, such as Notepad++.
  6. Uncomment (remove the #) from the following lines:
    <env name="database/drivers" value="oracle.jdbc.OracleDriver;com.ibm.db2.jcc.DB2Driver" />
    <env name="database/databases/PegaRULES/url" value=" jdbc:sqlserver://serverName:1433;SelectMethod=cursor;SendStringParametersAsUnicode=false" /> 
    <env name="database/databases/PegaRULES/userName" value="a_username" />
    <env name="database/databases/PegaRULES/password" value="a_password " /> 
    <env name="database/databases/PegaDATA/url" value="jdbc:sqlserver://serverName:1433;SelectMethod=cursor;SendStringParametersAsUnicode=false " /> 
  7. Above the line containing the element <env name="database/drivers" value=" " />, add the following elements:
    <env name="database/databases/PegaDATA/userName" value="a_username " /> 
    <env name="database/databases/PegaDATA/password" value="a_password " />
    Note: If you plan to enable password encryption for the BIX command-line extraction process, you do not need to uncomment the username (/username" value="a_username" />) and password (/password" value="a_password/>) elements. For more information, see Enabling password encryption for BIX command-line extractions.
  8. Enter your source database schema information to the elements in the uncommented lines.
    Replace the example Oracle input values with input values for your source database in quotation marks as shown in the following entries.
    1. For the <env name="database/databases/PegaRULES/defaultSchema" value=" " /> element, enter "name of the rule schema of source database".
    2. For the <env name="database/databases/PegaDATA/defaultSchema" value=" " /> element, enter "name of the data schema for source database".
    3. For the <env name="database/drivers" value=" " /> element, enter "Database driver class".
      For additional database driver details, refer to your database documentation.
      For example: 
      Database driver classes
      Database type Driver class
      Oracle oracle.jdbc.OracleDriver
      IBM com.ibm.db2.jcc.DB2Driver
      SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver
      PostgreSQL org.postgresql.Driver
    4. For the <env name="database/databases/PegaRULES/url" value=" " /> element, enter "database URL".
      For additional database URL details, refer to your database documentation.
      For example: 
      Database URL examples
      Database type URL example
      Oracle jdbc:oracle:thin:@//serverName:port/service-name-or-SID
      IBM jdbc:db2://serverName:port/dbName
      SQL Server jdbc:sqlserver://your_sql_server_host:1433; SendStringParametersAsUnicode=false; SelectMethod=cursor; ProgramName=${NodeName}:${SystemName}.${ConnectionID}
      PostgreSQL jdbc:postgresql://localhost:5432/dbName
    5. For the <env name="database/databases/PegaDATA/userName" value= /> element, enter "database username".
    6. For the <env name="database/databases/PegaDATA/password" value="a_password" /> element, enter "database password".
    7. For the <env name="database/databases/PegaRULES/userName" value="a_username" /> element, enter "database username".
    8. For the <env name="database/databases/PegaRULES/password" value="a_password" /> element, enter "database password".
    Note: Set the value of database/databases/PegaDATA/userName and database/databases/PegaDATA/password to the user name and password of a user for the Pega Platform database.
What to do next: If you chose the XML or CSV format for the BIX extraction process when you create the Extract rule, you can configure BIX logging, enable password encryption, and run the command-line extraction. For more information, seeConfiguring BIX logs for command-line extractions, Enabling password encryption for BIX command-line extractions, and Running a BIX command-line extraction.

If you chose the Database Schema format for the BIX extraction process when you created the Extract rule, configure your target database. For details, see Configuring the target database for BIX command-line extractions.