![]() |
VOOZH | about |
The CData JDBC driver for Google Sheets enables you to provide access to Google Sheets data across the enterprise. This article shows how to deploy the driver on JasperReports server and create a simple report based on a reporting domain, a business view of Google Sheets data.
Follow the steps below to deploy the driver JAR on JasperReports Server. The instructions below contain specifics for Google Sheets and the Tomcat server bundled with JasperReports Server. If you are using JBoss AS 7 instead of Tomcat, you can follow the standard process to deploy the Google Sheets JDBC Driver on JBoss.
Navigate to apache-tomcat -> webapps -> jasperserver-pro -> META-INF and add the following resource entry to the context.xml file:
<Resource name="jdbc/googlesheets" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.googlesheets.GoogleSheetsDriver" url="jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH;" maxActive="20" maxIdle="10" maxWait="-1" factory="com.jaspersoft.jasperserver.tomcat.jndi.JSCommonsBasicDataSourceFactory"/>
Specify the required connection properties in the JDBC URL -- the url attribute.
You can connect to a spreadsheet by providing authentication to Google and then setting the Spreadsheet connection property to the name or feed link of the spreadsheet. If you want to view a list of information about the spreadsheets in your Google Drive, execute a query to the Spreadsheets view after you authenticate.
ClientLogin (username/password authentication) has been officially deprecated since April 20, 2012 and is now no longer available. Instead, use the OAuth 2.0 authentication standard. To access Google APIs on behalf on individual users, you can use the embedded credentials or you can register your own OAuth app.
OAuth also enables you to use a service account to connect on behalf of users in a Google Apps domain. To authenticate with a service account, register an application to obtain the OAuth JWT values.
See the Getting Started chapter in the help documentation to connect to Google Sheets from different types of accounts: Google accounts, Google Apps accounts, and accounts using two-step verification.
For assistance in constructing the JDBC URL, use the connection string designer built into the Google Sheets JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.googlesheets.jar
Fill in the connection properties and copy the connection string to the clipboard.
π Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)When you configure the JDBC URL, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.
Google Sheets data JSP jdbc/googlesheets javax.sql.DataSource Container
Follow the steps below to map the Google Sheets JDBC driver to a JDBC data source:
A domain is a metadata and access-control layer that surfaces a relevant business view to report creators. Follow the steps below to select Google Sheets columns, apply filters, and execute SQL to create a domain.
SELECT Shipcountry, SUM(OrderPrice) FROM Orders GROUP BY Shipcountry
After you have created a domain, you are ready to connect to data. Follow the steps below to create an Ad Hoc View in the Ad Hoc Editor.
You can now create reports hosted on JasperSoft Server. To do so from the Ad Hoc Editor, click Save Ad Hoc View and click Create Report.
π A report based on live data. (Salesforce is shown.)Download a free trial of the Google Sheets Driver to get started:
Download NowLearn more:
π Google Sheets IconEasily connect Java applications with real-time data from spreadsheets stored in Google Docs. Use Google Sheets to manage the data that powers your applications.