Question & Answer
Question
Cause
Answer
WARNING: Before proceeding with this procedure, please take note of the following scenario:
- Database is upgraded and accessible to Change users
- Database path has changed.
PreferenceNameSubstitutionForAllUsers
has not been run yet.
- One or many users create some preferences (reports or queries) in the the new database.
- Thereafter, if
PreferenceNameSubstitutionForAllUsers
is run, the following will happen:
- Preferences referring to the old database path will not be converted to the new database path.
- Those preferences referring to the old database path are deleted.
- Preferences referring to the old database path will not be converted to the new database path.
- To avoid this situation, run
PreferenceNameSubstitutionForAllUsers
before users have access to the new database path and have created any preferences.
If the path to the database changes, then you need to update the identifier for the group of settings inside RDS. This is done using a Perl script that will call the PreferenceNameSubstitutionForAllUsers
function.
This script is also used in Technote 1383359: How to migrate user ids and preferences from Change 4.7 to Change 5.1
IMPORTANT NOTE: Be aware that the function to establish a connection has changed in Change 5.2.
The updated script for Change 5.2 or 5.3 would be :
All source code and/or binaries attached to this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
---|
# Include the Rational Change csapi module.
use utf8;
use ChangeSynergy::csapi;
# Create a new instance of the csapi object.
my $csapi = new ChangeSynergy::csapi();
eval
{
# Connect to Change server using local admin credentials
$csapi->setUpConnection("http://server:port/change");my $aUser = $csapi->Login("admin", "adminpassword", "Admin","\\\\server\\myNEWdatabasepath");
# Execute function to update database path for all users' preference objects and print response
$tmpData = $csapi->PreferenceNameSubstitutionForAllUsers($aUser,"\\\\server\\myOLDdatabasepath", "\\\\server\\myNEWdatabasepath");
print $tmpData->getResponseData();
};
if ($@)
{
print $@;
}
Notes :
admin
is Rational Change's admin account. You might be using another one.adminpassword
: password for user "admin"Admin
refers to a role. You must leave it this way.
Was this topic helpful?
Document Information
Modified date:
10 February 2023
UID
swg21472878