Note: This article was originally written for TX DWA (older) version. However, the concepts may still apply to newer versions.
Ideally, TimeXtender projects are setup with multiple environments, with at least dedicated development (Dev) and production (Prod) environments. TimeXtender enables central management of all project connections across environments, with Global Databases. Parameterized data connections make it easy to transfer projects from one environment to the other without having to adjust all connections in a project.
However, Global Databases can cause issues when Exporting/Importing a project into another repository. Specifically a repository that does not have environments with Global Databases setup.
- The best way to avoid issues when migrating a project with Global Databases is to temporarily switch data connections to use Project Settings before exporting the project, Or
- Setup at least one Environment with the necessary Global Databases in the new repository before initiating the project import.
Unfortunately, it is not always possible to follow best practices. A common example is when the user importing the project did not create the export file and does not have access to the original project.
The following guide illustrates how to import a TimeXtender project using Global Databases into a completely new repository without preparing Environments.
First, we need to create an export file. This example will use a simple project with two data connections where the data source connection is using a Global Database and the ODS is using project settings. Figure 1 provides following info:
1: The repository name we are exporting from.
2: The ODS contains two deployed tables from the data source.
3: The Global Database Type.
4: The Global Database Name (parameter name).
5: Database connection.
6: Confirmation that Global Database is connected to AdventureWorks2012 database.
Figure 2 illustrates that our AdventureWorks data source connection is referencing the Global Database.
Exporting a TimeXtender project using Global Database connections will prompt a warning, as shown in Figure 3. Clicking Yes will produce an XML file.
Import the project into a new repository from the main TimeXtender menu and open the connection manager by choosing Yes as illustrated in Figure 5.
The Connection Manager will list all the connections in the project as shown in Figure 6. From this menu, one can set each connection individually or run the Wizard.
First connection to set in the wizard is in this example the ODS database which was exported and imported using Project Settings. One can easily adjust naming and create the database used for the connection.
Figure 8 shows the second and last connection in the wizard. Notice the dropdown menu for the Global Database is blank.
We have not created Environments and Global Databases yet, so the user can either decide to switch the connection to using Project Settings or leave it blank and click OK.
Not setting a Project data connection will result in a Global database error as shown in Figure 10. At this point we have demonstrated that importing a project with Global Databases into a new repository can lead to issues like inability to connect to data source.
If we like to keep using Global Databases in our new repository (recommended), one would need to create at least one Environment with necessary Global Databases to resolve the errors.
All remains are to set the Global Settings in respective data connections.
Following this guide should help resolve errors and restore data connections to previous settings. However, it is considered more safe to follow the best practices initially listed as they will avoid unexpected changes to a project if connectivity to data connections are lost.