Configure the CData JDBC Driver for OData in a Connection Pool in Tomcat



Connect to OData services 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 OData services from a connection pool in Tomcat.

About OData Data Integration

CData simplifies access and integration of live OData services data. Our customers leverage CData connectivity to:

  • Access OData versions 2.0, 3.0, and 4.0, working with legacy services and the latest features and capabilities.
  • Leverage advanced query options, including $filter, $select, and $expand, enhancing data retrieval from 3rd party tools.
  • Use Server-side execution of aggregation and grouping to minimize data transfer and boost performance.
  • Authenticate securely using a variety of schemes, including Azure AD, digest, negotiate, NTLM, OAuth, and more means secure authentication with every connection.
  • Use SQL stored procedures to manage OData service entities - listing, creating, and removing associations between entities.

Customers use CData's solutions to regularly integrate their OData services with preferred tools, such as Power BI, MicroStrategy, or Tableau, and to replicate data from OData services to their databases or data warehouses.


Getting Started


Connect to OData Services 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.

    The User and Password properties, under the Authentication section, must be set to valid OData user credentials. In addition, you will need to specify a URL to a valid OData server organization root or OData services file.

    Built-in Connection String Designer

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

    java -jar cdata.jdbc.odata.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/odata" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.odata.ODataDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:odata:URL=http://services.odata.org/V4/Northwind/Northwind.svc;UseIdUrl=True;OData Version=4.0;Data Format=ATOM;" maxActive="20" maxIdle="10" maxWait="-1" />

    To allow a single application to access OData services, 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 OData for all applications.

  3. Add a reference to the resource to the web.xml for the application. OData services JSP jdbc/OData 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/OData"); Connection conn = ds.getConnection();

More Tomcat Integration

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

Ready to get started?

Download a free trial of the OData Driver to get started:

 Download Now

Learn more:

OData Icon OData JDBC Driver

Easy-to-use OData client (consumer) enables developers to build Java applications that easily communicate with OData services.