Review the Virtual DataPort Metadata¶
Most of the time, the VQL file you obtained in the previous step can be imported into the new version without any modification. However, you still have to check this:
Step #1
In the file metadata_denodo.vql
, search for a path to a directory in the computer that runs Denodo 8.0. E.g. search /opt
or C:\
. If you find a path, consider copying this file to the computer where you installed Denodo 9 and modify the VQL to adjust the path if necessary.
Step #2
In the file metadata_denodo.vql
, search JARS 'denodo-odata2-wrapper'
and JARS 'denodo-odata4-wrapper'
. If you do not find any occurrences, jump to the next step. If there are occurrences, modify the VQL of these data sources:
CREATE OR REPLACE DATASOURCE CUSTOM <DATASOURCE_NAME>
FOLDER = '<FOLDER>'
CLASSNAME='com.denodo.connect.odata.wrapper.ODataWrapper'
JARS 'denodo-odata<2|4>-wrapper'
PARAMETERS (
'Service Endpoint *' = '<ENDPOINT>',
CHECKCERTIFICATES
(...)
'Service Format *' = '<FORMAT>',
);
To something like:
CREATE OR REPLACE DATASOURCE CUSTOM <DATASOURCE_NAME>
FOLDER = '<FOLDER>'
CLASSNAME='com.denodo.connect.odata.wrapper.ODataWrapper'
CLASSPATH='../lib/extensions/custom-wrappers/odata<2|4>/denodo-odata<2|4>-wrapper.jar'
PARAMETERS (
'Service Endpoint *' = ROUTE HTTP 'http.ApacheHttpClientConnection,120000' GET '<ENDPOINT>'
(...)
'Service Format *' = '<VALUE>'
);
In case of the OData2 Custom Wrapper, there could be also an optional parameter for the OData version of the service called Service Version
that could be set to V1
or V2
.
Note that you should replace <2|4>
either with 2
or 4
depending on the wrapper you are upgrading.
So the first thing is to replace JARS 'denodo-odata<2|4>-wrapper'
variable with CLASSPATH='../lib/extensions/custom-wrappers/odata2/denodo-odata<2|4>-wrapper.jar'
and the 'Service Endpoint *'
with the new format.
Then, the rest of the changes depends on each configuration for authentication and/or proxy. Please note that you can only set one authentication mechanism for each data source.
So, inside of the PARAMETERS
block of the data source you’d need to add the following VQL code:
OAuth2 Authentication
PARAMETERS (
(...)
AUTHENTICATION OAUTH20 (
ACCESSTOKEN = '<ACCESSTOKEN>'
REQUESTSIGNINGMETHOD = <METHOD>
AUTHENTICATION_GRANT = <GRANT>
TOKENENDPOINTURL = '<URL>'
EXTRA_PARAMETERS_OF_REFRESH_TOKEN_REQUEST (
(...)
)
CLIENTIDENTIFIER = '<CLIENTIDENTIFIER>'
CLIENTSECRET = '<CLIENTSECRET>'
)
(...)
);
The EXTRA_PARAMETERS_OF_REFRESH_TOKEN_REQUEST
parameter is optional and depends on the type of endpoint. If needed, it should be pairs of 'parameter1'='value1', ... 'parameterN'='valueN'
.
Basic Authentication
PARAMETERS ( (...) AUTHENTICATION BASIC ( USER '<USER>' PASSWORD '<PASSWORD>' ) (...) );
NTLM Authentication
PARAMETERS (
(...)
AUTHENTICATION NTLM (
USER '<USER>'
PASSWORD '<PASSWORD>'
DOMAIN '<DOMAIN>'
)
(...)
);
Pass-through session credentials
When using Pass-through, the block with the authentication parameters needs to be surrounded by a WITH PASS-THROUGH SESSION CREDENTIALS
block:
PARAMETERS (
(...)
AUTHENTICATION <TYPE> (
WITH PASS-THROUGH SESSION CREDENTIALS (
(..)
)
)
(...)
);
Proxy (Manual)
PARAMETERS ( (...) PROXY ON ( HOST '<HOST>' PORT <PORT> USER '<LOGIN>' PASSWORD '<PASSWORD>' ), (...) );
Step #3
In the file metadata_denodo.vql
, search JARS 'denodo-mongodb-customwrapper'
. If you do not find any occurrences, jump to the next step.
Denodo 9 includes a new MongoDB native connector so it is not necessary to use the MongoDB Custom Wrapper to access MongoDB sources. The section MongoDB Sources contains all the information on how to create the new MongoDB data sources and base views. We recommend to use the Administration Tool or Design Studio to create them.
Step #4
If you got the following warning when you exported the metadata of the previous version of Virtual DataPort, you probably need to modify the metadata.
MIGRATION TO 9 - WARNINGS SUMMARY
If you did not get any warning, skip this page and go to the next step of the upgrade process (Import Settings and Metadata in to the New Installation).
To modify the metadata, you can go back to Virtual DataPort 8.0, modify the necessary elements and export the VQL again, or modify the VQL file.
The warnings you may get are:
#1. Modify the following views because they use the operators contains, containsand, containsor or iscontained.
Denodo 9 no longer supports the operators contains, containsand, containsor and iscontained (they were removed in 8.0). The export script returns a list of the views that use these operators. Before you import the metadata file into Denodo 9, modify the definition of these views to remove these operators. You can either modify the definition of the views from the version 7.0 or manually modify the VQL file.
The section Contains, Containsand, Containsor and Iscontained Operators explains how to replace these operators with their equivalent operator that are part of the standard SQL.
#2. The QUERYPLAN parameter of the CONTEXT clause is not supported in Denodo 9.
The parameter QUERYPLAN
of the CONTEXT
clause of the SELECT
statements were already removed in Denodo 8.0. In this metadata file, this parameter has been removed from the definition of the views listed here, so they can be imported into the new version.
We suggest you enable the Cost-Based Optimizer and gather the statistics of the views involved in the definition of these views. That way, you ensure the optimizer chooses an efficient plan when querying this view. Setting the execution plan of a query manually (i.e. with the parameter QUERYPLAN
) is difficult and usually led to choosing a worse plan than what the cost optimizer would choose.
#3. Operators contains, containsand, containsor and iscontained are not supported in Denodo 9. They were removed from the capacities of the affected base views’ search methods in Denodo 8.0.
You do not need to do anything regarding this message.
#4. Aracne data sources are not supported in Denodo 9.
Aracne and Google Search data sources were deprecated in the version 7.0 and were removed from version 8.0. Remove them and any element that depends on them.
#5. Google Search data sources are not supported in Denodo 9.
See the note above.