![]() |
VOOZH | about |
The CData JDBC Driver for NASA enables you to connect to live NASA data from business intelligence and data mining tools that support the JDBC standard. This article shows how to integrate NASA data into a report in SpagoBI Studio and host it on SpagoBI Server.
Follow the steps to create a JDBC data source for NASA in SpagoBI Server.
Add a NASA driver resource to the context. The following resource definition can be added to the GlobalNamingResources element in server.xml:
<Resource name="jdbc/api" auth="Container" type="javax.sql.DataSource" driverclassname="cdata.jdbc.api.APIDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxactive="20" maxidle="10" maxwait="-1"/>
<ResourceLink global="jdbc/api" name="jdbc/api" type="javax.sql.DataSource"/>
After adding the driver to the resources for the SpagoBI server, add the data source: In SpagoBI, click Resources -> Data Source -> Add and enter the following information:
Most NASA API endpoints (APOD, NeoWS, DONKI, TechTransfer) require a NASA API key. Register for a free key at https://api.nasa.gov. The default DEMO_KEY provides limited access (30 requests/hour, 50 requests/day); a registered key allows 1,000 requests/hour.
The following endpoints do not require an API key and work without authentication: EONET (Earth Observatory Natural Event Tracker), EPIC (Earth Polychromatic Imaging Camera), NASA Image and Video Library, and TechPort.
After obtaining your API key, set the following connection properties:
Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
Once the authentication is configured, you can connect to NASA and query data from any of the available tables such as AstronomyPictureOfDay, NearEarthObjectFeed, EonetEvents, and NasaImageLibrary.
For assistance in constructing the JDBC URL, use the connection string designer built into the NASA JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.api.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.)A typical JDBC URL is below:
jdbc:api:Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
Follow the steps below to populate reports based on NASA data in SpagoBI Studio. You will create a dataset that populates a chart with the results of an SQL query. In the next section, you will host this report on SpagoBI Server.
First, you will need to connect to NASA data from a report in SpagoBI Studio:
jdbc:api:Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEYSee the "Getting Started" chapter of the driver help for a guide to obtaining the required connection properties. π The JDBC data source. (Salesforce is shown.)
After you have connected to NASA data, create a dataset that contains the results of an SQL query:
SELECT , FROM AstronomyPictureOfDay WHERE StartDate = '2024-01-01'π The query to be used to populate a chart. (Salesforce is shown.)
You can use the dataset to populate report objects. Follow the steps below to create a chart.
Follow the steps below to host documents based on live NASA data on SpagoBI Server. You will use the report you created in the previous section as a template. To enable report users to access the live data, create placeholder parameters to be replaced by the NASA JDBC data source on the server:
In the Property Binding node, set the JDBC Driver URL binding property to the url parameter: Click the box for the property. In the Category section, select Report Parameters. Select All in the Subcategory section and double-click the parameter.
You can also enter the following in the JavaScript syntax:
params["url"].valueπ Placeholder values in the report for the JDBC data source on the server.
Next, create a new document for the report on SpagoBI Server.
In the Template section, click Choose File. Navigate to the folder containing your report project. Select the .rptdesign file.
Note: You can find the path to the project in the project properties.
When you run the report on the server, the placeholder url parameter is replaced with the JDBC URL defined on the server.
π The chart running on the SpagoBI Server. (Salesforce is shown.)Connect to live data from NASA with the API Driver
Connect to NASA