Easily Integrate Amazon Athena Data in Lazarus Pascal IDE



Learn how to easily integrate live Amazon Athena data in Lazarus Pascal IDE using the CData ODBC Driver for real-time insights.

Lazarus Pascal IDE is a powerful, free, open-source development environment for building cross-platform applications. With the CData ODBC Driver for Amazon Athena, you can seamlessly integrate and query live Amazon Athena data, bringing real-time insights within your Lazarus Pascal IDE applications to enhance reporting, dashboards, and workflows.

This guide provides a comprehensive walkthrough, from setting up the connection to leveraging live Amazon Athena in Lazarus Pascal IDE. Whether you're building reports, dashboards, or complex workflows, you'll gain the tools to unlock real-time insights and functionality within your applications.

About Amazon Athena Data Integration

CData provides the easiest way to access and integrate live data from Amazon Athena. Customers use CData connectivity to:

  • Authenticate securely using a variety of methods, including IAM credentials, access keys, and Instance Profiles, catering to diverse security needs and simplifying the authentication process.
  • Streamline their setup and quickly resolve issue with detailed error messaging.
  • Enhance performance and minimize strain on client resources with server-side query execution.

Users frequently integrate Athena with analytics tools like Tableau, Power BI, and Excel for in-depth analytics from their preferred tools.

To learn more about unique Amazon Athena use cases with CData, check out our blog post: https://www.cdata.com/blog/amazon-athena-use-cases.


Getting Started


Overview

Here is an overview of the steps:

  1. Configure the DSN for Amazon Athena data in the CData ODBC Driver for Amazon Athena with the necessary connection properties.
  2. Set up the ODBC connection in Lazarus by configuring the TSQLConnector, TSQLQuery, TDataSource, and TDBGrid components with the required details.
  3. Test the connection to Amazon Athena data by writing sample code on the Main form.
  4. Compile and run the application to verify the successful integration and display of live Amazon Athena data.

Prerequisites

Before starting, ensure you have the following:

  • Lazarus IDE (version 3.4 recommended). Download from here.
  • CData ODBC Driver for Amazon Athena. Download and try the latest version from here.


Configure the Amazon Athena DSN Using the CData ODBC Driver

To start, configure the DSN (Data Source Name) for Amazon Athena data in your system using the CData ODBC Driver for Amazon Athena. Download and install a 30-day free trial with all the features from here.

Once installed, launch the ODBC Data Source Administrator:

  • On Windows: Search for ODBC Data Source Administrator in the Start menu and open the application.
  • On Mac: Open Applications, go to Utilities, and select ODBC Manager.
  • On Linux: Use the command line to launch ODBC Data Source Administrator or use unixODBC if installed.

Once launched, double-click on the CData Amazon Athena data Source and enter the required values to establish a connection:

Authenticating to Amazon Athena

To authorize Amazon Athena requests, provide the credentials for an administrator account or for an IAM user with custom permissions: Set AccessKey to the access key Id. Set SecretKey to the secret access key.

Note: Though you can connect as the AWS account administrator, it is recommended to use IAM user credentials to access AWS services.

Obtaining the Access Key

To obtain the credentials for an IAM user, follow the steps below:

  1. Sign into the IAM console.
  2. In the navigation pane, select Users.
  3. To create or manage the access keys for a user, select the user and then select the Security Credentials tab.

To obtain the credentials for your AWS root account, follow the steps below:

  1. Sign into the AWS Management console with the credentials for your root account.
  2. Select your account name or number and select My Security Credentials in the menu that is displayed.
  3. Click Continue to Security Credentials and expand the Access Keys section to manage or create root account access keys.

Authenticating from an EC2 Instance

If you are using the CData Data Provider for Amazon Athena 2018 from an EC2 Instance and have an IAM Role assigned to the instance, you can use the IAM Role to authenticate. To do so, set UseEC2Roles to true and leave AccessKey and SecretKey empty. The CData Data Provider for Amazon Athena 2018 will automatically obtain your IAM Role credentials and authenticate with them.

Authenticating as an AWS Role

In many situations it may be preferable to use an IAM role for authentication instead of the direct security credentials of an AWS root user. An AWS role may be used instead by specifying the RoleARN. This will cause the CData Data Provider for Amazon Athena 2018 to attempt to retrieve credentials for the specified role. If you are connecting to AWS (instead of already being connected such as on an EC2 instance), you must additionally specify the AccessKey and SecretKey of an IAM user to assume the role for. Roles may not be used when specifying the AccessKey and SecretKey of an AWS root user.

Authenticating with MFA

For users and roles that require Multi-factor Authentication, specify the MFASerialNumber and MFAToken connection properties. This will cause the CData Data Provider for Amazon Athena 2018 to submit the MFA credentials in a request to retrieve temporary authentication credentials. Note that the duration of the temporary credentials may be controlled via the TemporaryTokenDuration (default 3600 seconds).

Connecting to Amazon Athena

In addition to the AccessKey and SecretKey properties, specify Database, S3StagingDirectory and Region. Set Region to the region where your Amazon Athena data is hosted. Set S3StagingDirectory to a folder in S3 where you would like to store the results of queries.

If Database is not set in the connection, the data provider connects to the default database set in Amazon Athena.

Create a New GUI Project

  1. Launch the Lazarus IDE.
  2. Navigate to File > New > Application to create a new GUI project with a Main form.

Add Required Connection Components to the Form

  1. Go to View > Component > Palette and check the Keep open at the bottom-left to keep the Components window persistently open.
  2. Search for the following components and add them to the Main form Form1 by clicking on Use at the bottom right.
    1. TSQLConnector
    2. TSQLTransaction
    3. TSQLQuery
    4. TDataSource
    5. TDBGrid


Configure the TSQLConnector Component

The TSQLConnector component in Lazarus Pascal IDE facilitates connections between your application and various databases or database APIs. Here's how to configure it:

  1. Select the TSQLConnector component on the Main form.
  2. Open the Object Inspector if it's not already open by going to View > Object Inspector
  3. In the Object Inspector on the left, set the following properties under the Properties section:
    Property Value
    Connected True
    Driver ODBC
    DatabaseName Your DSN name (e.g., CData Amazon Athena Source)
    UserName Your database username
    Password Your database password
    HostName Amazon Athena URL or localhost for local databases
    LoginPrompt False
    Transaction Select your TSQLTransaction component

If your credentials require a security token, follow these steps:

  1. Double-click the Main Form in the Lazarus Pascal IDE to open the code editor.
  2. Locate the procedure TForm1.FormCreate(Sender: TObject); section.
  3. Paste the following code below the begin keyword. Replace 'your_security_token' with your actual security token: SQLConnector1.Params.Values ['Password'] := SQLConnector1.Params.Values ['Password'] + 'your_security_token';



Configure the TSQLQuery Component

The TSQLQuery component in Lazarus Pascal IDE receives SQL code for queries and retrieves data from a database, simplifying data manipulation. Configure using the following info:

  1. Select the TSQLQuery component in the Main form.
  2. Set the following properties in the Object Inspector under the Properties section:
    Property Value
    Active True
    DataBase Select the name of your TSQLConnector component
    SQL (Click 3 dots) Your query (e.g., SELECT * FROM Customers)
    Transaction Your TSQLTransaction component




Configure the TDataSource, TDBGrid, TSQLTransaction Components

The TDataSource component in Lazarus Pascal IDE bridges a dataset (e.g., TSQLQuery) with data-aware controls like TDBGrid, allowing data to be displayed and manipulated. The TDBGrid presents the data in a tabular format, while the TSQLTransaction ensures database operations maintain data integrity by executing within a transaction. Here's how to configure all three components:

  1. Select the TDataSource component and set its DataSet property to the name of your TSQLQuery component.
  2. Select the TDBGrid component and set its DataSource property to your TDataSource component.
  3. Select the TSQLTransaction component. Set the following properties:
    1. Active: True
    2. Database: The name of your TSQLConnector component


Add Code to Test the Connection

To successfully test the connection, use the following code:

  1. Double-click on the Main Form to open up the Source Editor.
  2. Add the following code under the begin keyword and before the end. keyword.
procedure TForm1.FormCreate(Sender: TObject); begin // Code for your Security Token SQLConnector1.Params.Values ['Password'] := SQLConnector1.Params.Values ['Password'] + 'your_security_token'; try SQLConnector1.Open; ShowMessage('Connection successful!'); except on E: Exception do ShowMessage('Error: ' + E.Message); end; try SQLQuery1.Open; if SQLQuery1.IsEmpty then ShowMessage('No data found.') else ShowMessage('Data loaded successfully.'); except on E: Exception do ShowMessage('Error: ' + E.Message); end; end; end.

Compile and Run the Application

Save your project. Go to Run > Compile, then Run, or use the shortcut F9 to execute your application.



Next Steps: Play with the Data

Now that your data is successfully imported into Lazarus, here are some ideas to explore its full potential:

  • Enhance Your TDBGrid: Customize your TDBGrid to enable sorting, editing, or highlighting specific rows.
  • Visualize Your Data: Use components like TChart to create graphs and charts for intuitive data representation.
  • Filter and Search: Use components like TDBFilter or implement custom filtering logic to allow users to quickly focus on relevant data. Add a TEdit component for user input and link it to your filtering functionality.
  • Export Your Data: Utilize TSVExport or TFileStream components to save your data in formats like CSV or Excel for sharing or integration into other systems.
  • Perform Calculations: Use TFPCustomDataSet or your dataset's built-in features to calculate totals, averages, or other metrics. Display results in a TLabel or add them to your TDBGrid.
  • Create Forms and Reports: Design interactive forms using TForm and TDBEdit for user interaction. For reports, integrate components like RLReport or FastReport to generate and print professional-quality reports.

Take your data-driven application to the next level with these enhancements!



Simplify Data Connectivity in Lazarus with CData

Unlock the full potential of live Amazon Athena data directly within Lazarus Pascal. Streamline your workflows, enhance productivity, and experience seamless integration like never before.

Start your free trial today and transform the way you connect and work with your data!

Ready to get started?

Download a free trial of the Amazon Athena ODBC Driver to get started:

 Download Now

Learn more:

Amazon Athena Icon Amazon Athena ODBC Driver

The Amazon Athena ODBC Driver is a powerful tool that allows you to connect with live data from Amazon Athena, directly from any applications that support ODBC connectivity.

Access Amazon Athena interactive query services data like you would a database, through a standard ODBC Driver interface.