By default, the driver looks for the file named
ddlogging.propertiesin the current working directory to load for all connections for a data source. To enable logging, please add the
LogConfigFileconnection property to the connection string. Specify the file name, and optionally, the path of the properties file used to initialize driver logging. The connection string will look similar to the following:
JDBC;DRIVER={com.Strategy.jdbc.dynamics365.Dynamics365Driver};URL={jdbc:Strategy:dynamics365:ServiceUrl=SERVICEURL;AuthenticationMethod=OAuth2;TokenUri=TOKENURI;ClientId=CLIENTID;ClientSecretCLIENTSECRET;RefreshToken=REFRESHTOKEN;LogConfigFile= ddlogging.properties};LogConfigFileconnection property, the driver uses the following process to determine which file to load.
LogConfigFileproperty in the IntelligenceServer folder (/var/opt/MicroStrategy/IntelligenceServer)
user_name.logging.propertiesin the directory containing the embedded database for the connection, where
user_nameis your user ID used to connect to the instance.
ddlogging.propertiesin the current working directory.
If any of these files exist, but the logging initialization fails for some reason while using that file, the driver writes a warning to the standard output (System.out), specifying the name of the properties file being used.
ddlogging.propertiescan be modified using a text editor for your needs. Some detailed logging can be enabled by changing the .level parameter to FINEST:
The driver connects to Microsoft Dynamics API and creates SQL and schema. Since joins and SQL statements are executed on the driver side, the memory usage can be high.
When processing large sets of data, out-of-memory errors can occur when the size of an intermediate result exceeds the available memory allocated to the JVM. If you are encountering these errors, you can tune
FetchSizeand the JVM heap size to fit your environment.
FetchSizeto reduce demands on memory. By lowering the number of rows as specified by
FetchSize, you lower the number of rows the driver is required to process before returning data to the application. Thus, you reduce demands on memory and decrease the likelihood of out-of-memory errors.
FetchSizeconnection string property specifies the maximum number of rows that the driver processes before returning data to the application when executing a Select. This value provides a suggestion to the driver as to the number of rows it should internally process before returning control to the application. The driver may fetch fewer rows to conserve memory when processing exceptionally wide rows.
FetchSizecan be 0 and x, where x is a positive integer indicating the number of rows that should be processed.
FetchSizeto 0 can diminish performance and increase the likelihood of out-of-memory errors. If set to x, the driver limits the number of rows that may be processed for each fetch request before returning control to the application.
FetchSizeproperty will look similar to the following:
JDBC;DRIVER={com.Strategy.jdbc.dynamics365.Dynamics365Driver};URL={jdbc:Strategy:dynamics365:ServiceUrl=SERVICEURL;AuthenticationMethod=OAuth2;TokenUri=TOKENURI;ClientId=CLIENTID;ClientSecretCLIENTSECRET;RefreshToken=REFRESHTOKEN;FetchSize= x};
Internal test results show that the Intelligent Cube containing over 237,000 rows published in 30 seconds.