Ready to get started?

Download a free trial of the SAP Netweaver Gateway Driver to get started:

 Download Now

Learn more:

SAP Netweaver Gateway Icon SAP Netweaver Gateway JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with SAP Netweaver Gateway.

Configure the CData JDBC Driver for SAP Netweaver Gateway in a Connection Pool in Tomcat



Connect to SAP Netweaver Gateway data from a connection pool in Tomcat.

The CData JDBC Drivers support standard JDBC interfaces to integrate with Web applications running on the JVM. This article details how to connect to SAP Netweaver Gateway data from a connection pool in Tomcat.

Connect to SAP Netweaver Gateway Data through a Connection Pool in Tomcat

  1. Copy the CData JAR and CData .lic file to $CATALINA_HOME/lib. The CData JAR is located in the lib subfolder of the installation directory.
  2. Add a definition of the resource to the context. Specify the JDBC URL here.

    SAP Gateway allows both basic and OAuth 2.0 authentication. You can use basic authentication to connect to your own account, or you can use OAuth to enable other users to retrieve data from your service with their accounts. In addition to authenticating, set the following connection properties to access SAP Gateway tables.

    • Url: Set this to the URL of your environment, or to the full URL of the service. For example, the full URL might appear as: https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/. In this example, the environment URL would just be: https://sapes5.sapdevcenter.com.
    • Namespace: Set the appropriate Service Namespace. In the example above, IWBEP is the namespace. It is optional if the full URL to the service is specified.
    • Service: Set this to the service you want to retrieve data from. In the example above, the service is GWSAMPLE_BASIC. It is not required if the full URL is specified.

    Authenticate via Basic Authentication

    In basic authentication, you use your login credentials to connect. Set the following properties:

    • User: This is the username you use to log in to SAP Gateway.
    • Password: This is the password you use to log in to SAP Gateway.

    Authenticate via OAuth Authentication

    You can connect to SAP Gateway using the embedded OAuth connectivity (without setting any additional authentication connection properties). When you connect, the OAuth endpoint opens in your browser. Log in and grant permissions to complete the OAuth process. See the OAuth section in the online Help documentation for more information on other OAuth authentication flows.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the SAP Netweaver Gateway JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.sapgateway.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    You can see the JDBC URL specified in the resource definition below.

    <Resource name="jdbc/sapgateway" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.sapgateway.SAPGatewayDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:sapgateway:User=user;Password=password;URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;InitiateOAuth=GETANDREFRESH" maxActive="20" maxIdle="10" maxWait="-1" />

    To allow a single application to access SAP Netweaver Gateway data, add the code above to the context.xml in the application's META-INF directory.

    For a shared resource configuration, add the code above to the context.xml located in $CATALINA_BASE/conf. A shared resource configuration provides connectivity to SAP Netweaver Gateway for all applications.

  3. Add a reference to the resource to the web.xml for the application. SAP Netweaver Gateway data JSP jdbc/SAPGateway javax.sql.DataSource Container
  4. Initialize connections from the connection pool: Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/SAPGateway"); Connection conn = ds.getConnection();

More Tomcat Integration

The steps above show how to connect to SAP Netweaver Gateway data in a simple connection pooling scenario. For more use cases and information, see the JNDI Datasource How-To in the Tomcat documentation.