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

KB46431: The error " [MicroStrategy][ODBC Salesforce driver][Salesforce]out of memory" appears when running a report from a Salesforce ODBC DSN in MicroStrategy Developer


Community Admin

• Strategy


The error " [MicroStrategy][ODBC Salesforce driver][Salesforce]out of memory" appears when running a report from a Salesforce ODBC DSN in MicroStrategy Developer.

SYMPTOM:
 
In Strategy 9.4.1, when running a report against Salesforce using the Strategy ODBC Driver for Salesforce, the following error appears:
 


out of memory

 
  
CAUSE:
 
The root cause of this issue is due to the nature of Salesforce as a database. Salesforce does not use Standard Query Language (SQL), it uses Salesforce Object Query Language (SOQL).  SOQL and Salesforce as a whole does not support many features of the SQL language Strategy uses for more complex reporting, such as temporary tables and temporary views, along with some functions of subqueries.  To properly query a Salesforce database with the query generated from the Strategy Query Engine, the query is first turned into SOQL passes.  These passes can be inefficient, as the SQL to SOQL conversion necessitates the simplification of the query. For instance, the call to request the data can be made separately from the call to filter on that data. This can cause the data from the entire database tables to be pulled into the database connection processes' Java Virtual Machine’s memory for local processing.  This is where the out of memory error originates: the driver process itself can run out of memory when pulling large amounts of data back from the database before filtering is applied, although this does not happen in all scenarios.
 
 
ACTION:
This issue can be alleviated by running the Salesforce connection in server mode. However, it is not possible to run the out-of-the-box Strategy ODBC Driver for Salesforce in server mode. Contact Strategy Technical Support for an update on this issue.
  
WORKAROUND:
 
Increase the "JVM Arguments:" in the driver, as shown below.

ka04W000000uGEdQAM_0EM440000002CPU.png

 

ka04W000000uGEdQAM_0EM440000002CPW.png

 
This line is the limit that the driver follows on how much memory of the Java Virtual Machine it can access. By increasing the limit it allows the driver to store more data locally.  
 
 
KB46431


Comment

0 comments

Details

Knowledge Article

Published:

June 8, 2017

Last Updated:

December 31, 2018