Connect to Excel Online Data from a Connection Pool in Jetty

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Excel Online JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with live Excel Online Spreadsheet data!



The Excel Online JDBC Driver supports connection pooling: This article shows how to connect faster to Excel Online data from Web apps in Jetty.

The CData JDBC driver for Excel Online is easy to integrate with Java Web applications. This article shows how to efficiently connect to Excel Online data in Jetty by configuring the driver for connection pooling. You will configure a JNDI resource for Excel Online in Jetty.

Configure the JDBC Driver for Salesforce as a JNDI Data Source

Follow the steps below to connect to Salesforce from Jetty.

  1. Enable the JNDI module for your Jetty base. The following command enables JNDI from the command-line:

    java -jar ../start.jar --add-to-startd=jndi
  2. Add the CData and license file, located in the lib subfolder of the installation directory, into the lib subfolder of the context path.
  3. Declare the resource and its scope. Enter the required connection properties in the resource declaration. This example declares the Excel Online data source at the level of the Web app, in WEB-INF\jetty-env.xml.

    <Configure id='excelonlinedemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="excelonlinedemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="excelonlinedemo"/></Arg> <Arg>jdbc/excelonlinedb</Arg> <Arg> <New class="cdata.jdbc.excelonline.ExcelOnlineDriver"> <Set name="url">jdbc:excelonline:</Set> <Set name="InitiateOAuth">GETANDREFRESH</Set> </New> </Arg> </New> </Configure>

    You can connect to a workbook by providing authentication to Excel Online and then setting the following properties:

    • Workbook: Set this to the name or Id of the workbook.

      If you want to view a list of information about the available workbooks, execute a query to the Workbooks view after you authenticate.

    • UseSandbox: Set this to true if you are connecting to a workbook in a sandbox account. Otherwise, leave this blank to connect to a production account.

    You use the OAuth authentication standard to authenticate to Excel Online. See the Getting Started section in the help documentation for a guide. Getting Started also guides you through executing SQL to worksheets and ranges.

  4. Configure the resource in the Web.xml:

    jdbc/excelonlinedb javax.sql.DataSource Container
  5. You can then access Excel Online with a lookup to java:comp/env/jdbc/excelonlinedb: InitialContext ctx = new InitialContext(); DataSource myexcelonline = (DataSource)ctx.lookup("java:comp/env/jdbc/excelonlinedb");

More Jetty Integration

The steps above show how to configure the driver in a simple connection pooling scenario. For more use cases and information, see the Working with Jetty JNDI chapter in the Jetty documentation.