EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB263848: Multisource option is not available through Warehouse Catalog for tables that do not match in case in MicroStrategy 10.x


Community Admin

• Strategy


SUMMARY:
This article describes a known issue with the multisource option in Warehouse Catalog in Strategy 10.x. This issue is currently being reviewed by Strategy for a potential code fix in an upcoming release.
SYMPTOM:
In Strategy 9.x, users were able to add tables from different databases as a single table through the multisource option in Warehouse Catalog. Upon adding the table from the second database in the Warehouse Catalog, users would receive the following message:

ka04W000000OfqVQAS_0EM440000002C43.jpeg


Table XX is already being used in the project associated with a different DB Instance. 
This table has additional columns that are not present in the existing table. 
These columns will not be imported into the project.

However, in Strategy 10.x, users will notice that once the table is added to the project in Warehouse Catalog from one database, the table will not appear in the list of available tables when connecting to the other database. For example if a user created the table ‘AATEST’ in SQL Server. The user then brings over the table to the project through Warehouse Catalog. The user then creates the same table, ‘AATEST’ in another Amazon Redshift. When connecting to the Redshift database instance to bring over the table, the table does not appear in the list of available tables, as shown below:
 

ka04W000000OfqVQAS_0EM440000002C45.jpeg

 
As a workaround, users may try to add the table for multisource through Strategy Architect. As with the previous example, a user added the table ‘AATEST’ through Warehouse Catalog from a SQL Server database. The user then attempts to add the same table from Redshift in Architect, however, instead of adding as a single table, the table is added as a separate table with no option for multisource, as shown below:
 

ka04W000000OfqVQAS_0EM440000002C47.jpeg

STEPS TO REPRODUCE: 

  1. Create a DSN connection to a Redshift database.
  2. Create the following table and column:


CREATE TABLE AATEST
(
MULTISOURCE_ID INTEGER
)

 

  1. Create a DSN connection to a SQL Server database.
  2. Create the following table and column:


CREATE TABLE AATEST
(
MULTISOURCE_ID INTEGER
)

 

  1. Create a database instance to the Redshift database.
  2. Create a database instance to the SQL Server database.
  3. In Warehouse Catalog, add the table AATEST to the project from the SQL Server database.
  4. Switch to the Redshift database instance, notice the table is not available.
  5. Launch Strategy Architect, notice the table is available for Redshift as aatest (all lower case).
  6. Add the table in Architect, notice it creates a new table and does not allow for multisource.

 
CAUSE:
This issue is caused by some databases being case sensitive while others are case insensitive. In Strategy 9.x, databases were treated as case insensitive. However, starting in Strategy 10, databases are treated as case sensitive. In a case sensitive scenario the following comparison is false, while in a case insensitive scenario it would evaluate as true:
AATEST = aatest
In the example above, Redshift is a case insensitive database. This means when running the create table statement above, the database automatically changes the case of the table name. With Redshift this means converting the name to pure lower case leading to a table name of 'aatest'. This table name does not line up with the table name from SQL Server which is case sensitive 'AATEST'. Strategy sees these tables as separate tables due to case sensitivity.
 
ACTION:
Currently this issue is being reviewed by Strategy for a potential code fix in an upcoming Strategy release.
WORKAROUND:
Use custom SQL to change the case of the table name. For example, if using a table from Amazon Redshift, an upper function can be added to the Read SQL to change the table to upper case. This workaround only applies to Architect, changing the Read SQL does not change the behavior of Warehouse Catalog.
After applying this custom SQL, users can now add the table in Strategy Architect as a multisource candidate. Once added, users will see the following message:

ka04W000000OfqVQAS_0EM440000002C46.jpeg


Table XX is already being used in the project associated with a different DB Instance.

 


Comment

0 comments

Details

Knowledge Article

Published:

April 4, 2017

Last Updated:

July 17, 2017