Automate Databox Integration Tasks from PowerShell

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Are you in search of a quick and easy way to access Databox data from PowerShell? This article demonstrates how to utilize the Databox Cmdlets for tasks like connecting to Databox data, automating operations, downloading data, and more.

The CData API Driver for ADO.NET is a standard ADO.NET Provider that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time access to Databox.

ADO.NET Provider

The ADO.NET Provider provides a SQL interface for Databox; this tutorial shows how to use the Provider to retrieve Databox data.

Once you have acquired the necessary connection properties, accessing Databox data in PowerShell can be enabled in three steps.

Start by setting the Profile connection property to the location of the Databox Profile on disk (e.g. C:\profiles\Databox.apip). Next, set the ProfileSettings connection property to the connection string for Databox (see below).

Databox API Profile Settings

To use the Databox API, you need to generate a personal access key from your Databox account. Navigate to the Databox account settings under Data Manager and generate an API key (prefixed with pak_).

After setting the following connection properties, you are ready to connect:

  • AuthScheme: Set this to APIKey.
  • APIKey: Set this to your Databox personal access key.
  1. Load the provider's assembly:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData API Driver for ADO.NET\lib\System.Data.CData.API.dll")
  2. Connect to Databox:

    $conn= New-Object System.Data.CData.API.APIConnection("Profile=C:\profiles\Databox.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_api_key';")
    $conn.Open()
  3. Instantiate the APIDataAdapter, execute an SQL query, and output the results:

    $sql="SELECT Id, Title from Datasets"
    
    $da= New-Object System.Data.CData.API.APIDataAdapter($sql, $conn)
    $dt= New-Object System.Data.DataTable
    $da.Fill($dt)
    
    $dt.Rows | foreach {
        Write-Host $_.id $_.title
    }

Ready to get started?

Connect to live data from Databox with the API Driver

Connect to Databox