BusinessObjects supports both JDBC and ODBC access to databases. This document describes the set up using JDBC. The ODBC method does not require any special setting, just pointing to a valid Denodo DSN with the 32 or 64 bit driver depending on the BusinessObjects installation.
The configuration steps described in this document have been tested with SAP BusinessObjects Enterprise XI 4.0.
NOTE for Denodo 7.0 users: SAP BO versions under 4.2 use Java JDK 7 or lower, this means that you will get a “Unsupported major.minor version 52.0” when you connect by using the Denodo 7 JDBC driver. The reason is because the Denodo JDBC driver is compiled for Java 8. To solve this issue a more recent SAP BO version must be used.
SAP BusinessObjects (BO) allows to define new connection settings for databases that are not natively supported. This configuration requires adding the JDBC driver for the database and some additional files that specify the connection settings and database capabilities.
Copy the Denodo JDBC driver that can be found in the folder <DENODO_HOME>/tools/client-drivers/jdbc/denodo-vdp-jdbcdriver.jar of a Denodo Platform installation to the folder <BO_HOME>/dataAccess/connectionServer/drivers/java.
The BusinessObjects configuration files for non native databases need to be added to the following folder: <BO_HOME>/dataAccess/connectionServer/. To create these files the existing configuration files of databases supported by default can be taken as a starting point.
It is possible to use these files as an example. Follow the indications below to verify they will work with your configuration, some additional changes might be needed depending on the specific version.
See http://scn.sap.com/docs/DOC-49847 for more information about how to configure a new driver.
Several files need to be copied:
modifying the XML headers and DTD references using the ones from any of the other database vendors accessed from SAP BusinessObjects such as Oracle or Microsoft SQL Server. For instance the headers
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Messages SYSTEM "../dbparameters_localization.dtd">
must be replaced with the equivalent ones coming from the equivalent configuration files for other databases.
Some installations throw an error related to the log4j library when the queries are executed.
Database error: (CS) “Java Exception : java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled() Z” . (IES 10901)
In order to solve it, the log4j jar file in the BO installation needs to be updated to version 1.2.15. To do so, replace the log4j.jar files in following the folders:
This error only happens with older Denodo versions. In Denodo 7.0 the JDBC driver is generated in a different way to avoid this problem with dependencies.
Business Objects uses a date picker when a date field is used as a filter. The format for the date is specified in the file vdp.prm with the property:
<Parameter Name="USER_INPUT_DATE_FORMAT">'MMM d, yyyy h:mm:ss a'</Parameter>
This format must match the format of the locale configuration in the Virtual DataPort server. For a specific format the file vdp.prm has to be modified. More details on the specific formats supported by Business Objects can be found in the “Data Access Guide” of SAP BO.
Moreover, the SQL query can be manually edited using the “Query Script Viewer”.
Denodo recommends using the TO_DATE function when using dates in the WHERE clause, in order to maximize compatibility with underlying systems.
BO by default uses the WHERE clause to specify join conditions. Denodo’s optimizer will work better when using the ANSI92 join syntax (i.e. ..JOIN ON…). This can be configured in the BusinessObjects Universe Designer by setting a Universe Parameter.
When you try to create a multisource universe in BO where one of the sources is Denodo, the following error message is thrown "This data source is not supported in multi source-enabled data foundations.”
More info about Multisource Universes at http://scn.sap.com/docs/DOC-38685.
In some environments, adding the Denodo JDBC driver JARs to the BO classpath makes the Multisource Universes to stop working altogether (whether they involve Denodo sources or not). If this happens, remove the denodo-vdp-jdbcdriver.jar file from the BO classpath, so only the vdp.sbo points to the jar file..