Establishing a Connection
Creating a JDBC Data Source
You can create a JDBC data source to connect from your Java application. Creating a JDBC data source based on the CData JDBC Driver for Excel Services consists of three basic steps:
- Add the driver JAR file to the classpath. The JAR file is located in the lib subfolder of the installation directory. Note that the .lic file must be located in the same folder as the JAR file.
- Provide the driver class. For example:
- Provide the JDBC URL. For example:
jdbc:excelservices:Url=https://myorg.sharepoint.com;Userfirstname.lastname@example.org;Password=password;File=Book1.xlsx; or jdbc:cdata:excelservices:Url=https://myorg.sharepoint.com;Useremail@example.com;Password=password;File=Book1.xlsx;
The second format above can be used whenever there is a conflict in your application between drivers using the same URL format to ensure you are using the CData driver. The URL must start with either "jdbc:excelservices:" or "jdbc:cdata:excelservices:" and can include any of the connection properties in name-value pairs separated with semicolons.
This section provides the details for connecting to SharePoint Online and SharePoint On Premises.
Connecting to a Workbook
Regardless of which edition of SharePoint you are using, set File to the Excel workbook. This path is relative to the following properties:
- Library: The Shared Documents library is used by default. You can use this property to specify another document library in your organization; for example, if you want to connect to OneDrive for Business, set this property to "Documents".
- Folder: You can use this property to specify a path to a subfolder in a library. The path is relative to the library name specified in Library.
Connecting to Spreadsheet Data as Tables
The driver detects the available tables based on the available objects in the underlying API.
The APIs surface different API objects; select the API based on the organization of your spreadsheets and your SharePoint version:
- OData: The OData API allows access to tables defined from Excel table objects (not ranges or spreadsheets), which you create by clicking Insert > Table in Excel. This is the default API. When connecting to the OData API, the driver may not return any tables if you do not have table objects defined in your workbook. Set UseRESTAPI to true to connect to spreadsheets or ranges as tables.
- REST: The REST API enables access to tables defined from Excel table objects, ranges, and spreadsheets. Requesting a large number of rows from ranges and spreadsheets is restricted by the REST API, and the driver limits the number of rows returned to 100 by default. The driver also defaults to detecting column names from the first row; set Header to disable this.
With DefineTables additionally set, you can define tables based on ranges, using the Excel range syntax. A range that is too large will be restricted by the API.
See Data Model for more information on how the driver detects tables and how to query them.
Connecting to SharePoint Online
Set SharePointEdition to "SharePoint Online" and set the User and Password for an Azure Active Directory account.
Set the Url to a site collection to query workbooks in all nested subsites. Set the Url to a site to query workbooks in that site only.
|Site||https://teams.contoso.com/teamA or https://teamA.contoso.com|
Connecting to SharePoint On Premises
Set SharePointEdition to "SharePoint OnPremise" and set the Url to your server's name or IP address. Additionally, set SharePointVersion and the authentication values.
To authenticate to SharePoint OnPremise, set AuthScheme to the authentication type and set User and Password, if necessary.
Note: When connecting to SharePoint On-Premises 2010, you must set UseRESTAPI to true.
- Windows (NTLM): This is the most common authentication type. As such, the driver is preconfigured to use NTLM as the default; simply set the Windows User and Password to connect.
- Kerberos and Kerberos Delegation: To authenticate with Kerberos, set AuthScheme to NEGOTIATE. If needed, provide the User and Password properties. To use Kerberos Delegation, set AuthScheme to KERBEROSDELEGATION. KerberosKDC, KerberosSPN, and KerberosRealm enable control over the components of Kerberos authentication.
- Forms: This allows authentication through a custom authentication method, instead of Active Directory. To use this authentication type, set AuthScheme to FORMS and set the User and Password.