Installing the SAP JCo Connector

In order to retrieve data from SAP ERP (BAPI data sources) or from SAP BW / SAP BI (with multidimensional data sources with the BAPI adapter), install the SAP Java Connector 3.0 (SAP JCo).

SAP provides different JCo libraries for several platforms. The JCo library you install must work with the CPU manufacturer and architecture on which the Denodo server runs:

  • If Virtual DataPort runs on a 32-bit O.S, download the 32-bit connector.
  • If Virtual DataPort runs on a 32-bit JVM, on a 64-bit O.S, download the 32-bit connector.
  • If Virtual DataPort runs on a 64-bit JVM, download the 64-bit connector.

The following subsections explain:

Installing SAP JCo on Windows

Follow these steps to install the SAP JCo connector on Windows:

  1. Obtain the appropriate driver for your architecture. It can be downloaded from https://support.sap.com/connectors, section SAP Java Connector > Tools & Services.

  2. Uncompress the downloaded package in a temporary directory.

  3. Create the directory sap-jco-connector inside <DENODO_HOME>\extensions\thirdparty\lib\.

  4. Copy the following files to <DENODO_HOME>\extensions\thirdparty\lib\sap-jco-connector\

    • sapjco3.jar
    • sapjco3.dll
  5. SAP JCo depends on the “Microsoft Visual C++ 2010 Redistributable Package” so you need to install it:

    1. Open the page to download the Microsoft Visual C++ 2010 Redistributable Package.
    2. Select one of the following platform-specific files depending on your scenario:
      1. Virtual DataPort server running on a 32-bit O.S: vcredist_x86.exe
      2. Virtual DataPort server running on a 32-bit JVM, on a 64-bit O.S: vcredist_x86.exe
      3. Virtual DataPort server running on a 64-bit JVM: vcredist_x64.exe
      4. Itanium system: vcredist_IA64.exe
    3. Execute the downloaded file and follow the installation instructions.
  6. To test that the JCo connector is properly installed, open a command prompt and execute the following:

    cd <DENODO_HOME>
    cd extensions\thirdparty\lib\sap-jco-connector
    ..\..\..\..\jre\bin\java.exe -jar sapjco3.jar -stdout
    

    You should see something like this:

    Java Runtime:
     Operating System:         Windows 8.1 6.3 for amd64
     Java VM:                  1.7.0_80 Oracle Corporation
     Java Codepage:            Cp1252
    Versions:
     JCo API:                  3.0.4 (2009-12-10)
     JCo middleware name:      JavaRfc
     JCo middleware:           2.2.1
     JCo middleware native:    720.29
    Paths:
     JCo classes:              C:\Denodo\DenodoPlatform7.0\extensions\thirdparty\lib\sap-jco-connector\sapjco3.jar
     JCo library:              C:\Denodo\DenodoPlatform7.0\extensions\thirdparty\lib\sap-jco-connector\sapjco3.dll
    

    Note that in the last two lines, you should see the path to the files sapjco3.jar and sapjco3.dll. If you see something like “JCo library: not loaded, caused by java.lang.UnsatisfiedLinkError: … Can’t load IA 32-bit .dll on an AMD 64-bit platform” it means that the file sapjco3.dll is the 32-bit version of the file and you should copy the 64-bit one.

    Note that you are launching the Java Runtime Environment installed along with the Denodo Platform. If you are going to launch the Denodo Platform with another JRE, you have to execute this command with that JRE to make sure that at runtime, the SAP JCo connector will work.

Installing SAP JCo on Linux

Follow these steps to install the SAP JCo connector on Linux:

  1. Obtain the appropriate driver for your architecture. It can be downloaded from http://service.sap.com/connectors, section SAP Java Connector > Tools & Services.

  2. Uncompress the downloaded package in a temporary directory.

  3. Create the directory sap-jco-connector inside <DENODO_HOME>/extensions/thirdparty/lib/

  4. Copy the following files to the directory <DENODO_HOME>/extensions/thirdparty/lib/sap-jco-connector/

    • sapjco3.jar
    • libsapjco3.so
  5. To test that the JCo connector is working, execute the following command:

    cd <DENODO_HOME>
    cd extensions/thirdparty/lib/sap-jco-connector
    ../../../../jre/bin/java -jar sapjco3.jar -stdout
    

    You should see something like this:

    Java Runtime:
     Operating System:         Linux 2.6.32-358.el6.x86_64 for amd64
     Java VM:                  1.8.0_152 Oracle Corporation
     Java Codepage:            UTF8
    Versions:
     JCo API:                  3.0.4 (2009-12-10)
     JCo middleware name:      JavaRfc
     JCo middleware:           2.2.1
     JCo middleware native:    720.29
    Paths:
     JCo classes:              /opt/denodo/denodo-platform-7.0/extensions/thirdparty/lib/sap-jco-connector/sapjco3.jar
     JCo library:              /opt/denodo/denodo-platform-7.0/extensions/thirdparty/lib/sap-jco-connector/sapjco3.so
    

    Note that in the last two lines, you should see the path to the files sapjco3.jar and sapjco3.dll. If you see something like “JCo library: not loaded, caused by java.lang.UnsatisfiedLinkError: … Can’t load IA 32-bit .dll on an AMD 64-bit platform” it means that the file sapjco3.dll is the 32-bit version of the file and you should copy the 64-bit one.

    Note that you are launching the Java Runtime Environment installed with the Denodo Platform. If you are going to launch the Denodo Platform with another JRE, you have to execute this command with that JRE to make sure that at runtime, the SAP JCo connector will work.

    If the library is properly installed, this command runs without error and provides information about the installed JCo libraries.