Ready to get started?

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

 Download Now

Learn more:

Certinia Icon Certinia ODBC Driver

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

Access Certinia data like you would a database - read, write, and update Certinia Invoices, Expenses, Accounts, etc. through a standard ODBC Driver interface.

Replicate Certinia Data from PowerShell



Write a quick PowerShell script to query Certinia data. Use connectivity to the live data to replicate Certinia data to SQL Server.



The CData ODBC Driver for Certinia enables out-of-the-box integration with Microsoft's built-in support for ODBC. The ODBC driver instantly integrates connectivity to the real Certinia data with PowerShell.

You can use the .NET Framework Provider for ODBC built into PowerShell to quickly automate integration tasks like replicating Certinia data to other databases. This article shows how to replicate Certinia data to SQL Server in 5 lines of code.

You can also write PowerShell code to execute create, read, update, and delete (CRUD) operations. See the examples below.

Create an ODBC Data Source for Certinia

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

There are several authentication methods available for connecting to Certinia: login credentials, SSO, and OAuth.

Authenticating with a Login and Token

Set the User and Password to your login credentials. Additionally, set the SecurityToken. By default, the SecurityToken is required, but you can make it optional by allowing a range of trusted IP addresses.

To disable the security token:

  1. Log in to Certinia and enter "Network Access" in the Quick Find box in the setup section.
  2. Add your IP address to the list of trusted IP addresses.

To obtain the security token:

  1. Open the personal information page on certinia.com.
  2. Click the link to reset your security token. The token will be emailed to you.
  3. Specify the security token in the SecurityToken connection property or append it to the Password.

Authenticating with OAuth

If you do not have access to the user name and password or do not want to require them, use the OAuth user consent flow. See the OAuth section in the Help for an authentication guide.

Connecting to Certinia Sandbox Accounts

Set UseSandbox to true (false by default) to use a Certinia sandbox account. Ensure that you specify a sandbox user name in User.

Connect to Certinia

The code below shows how to use the DSN to initialize the connection to Certinia data in PowerShell:

$conn = New-Object System.Data.Odbc.OdbcConnection $conn.ConnectionString = "DSN=CData Certinia Source x64"

Back Up Certinia Data to SQL Server

After you enable caching, you can use the code below to replicate data to SQL Server.

Set the following connection properties to configure the caching database:

  • CacheProvider: The name of the ADO.NET provider. This can be found in the Machine.config for your version of .NET. For example, to configure SQL Server, enter System.Data.SqlClient.

  • CacheConnection: The connection string of properties required to connect to the database. Below is an example for SQL Server:

    Server=localhost;Database=RSB;User Id=sqltest;Password=sqltest;

The SQL query in the example can be used to refresh the entire cached table, including its schema. Any already existing cache is deleted.

$conn.Open() # Create and execute the SQL Query $SQL = "CACHE DROP EXISTING SELECT * FROM " + $Account $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$conn) $count = $cmd.ExecuteNonQuery() $conn.Close()

The driver gives you complete control over the caching functionality. See the help documentation for more caching commands and usage examples. See the help documentation for steps to replicate to other databases.

Other Operations

To retrieve Certinia data in PowerShell, call the Fill method of the OdbcDataAdapter method. To execute data manipulation commands, initialize the OdbcCommand object and then call ExecuteNonQuery. Below are some more examples CRUD commands to Certinia through the .NET Framework Provider for ODBC:

Retrieve Certinia Data

$sql="SELECT BillingState, Name from Account" $da= New-Object System.Data.Odbc.OdbcDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { $dt.Columns | foreach ($col in dt{ Write-Host $1[$_] } }

Update Certinia Data

$cmd = New-Object System.Data.Odbc.OdbcCommand("UPDATE Account SET Industry='Floppy Disks' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

Insert Certinia Data

$cmd = New-Object System.Data.Odbc.OdbcCommand("INSERT INTO Account SET Industry='Floppy Disks' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

Delete Certinia Data

$cmd = New-Object System.Data.Odbc.OdbcCommand("DELETE FROM Account WHERE Id = @myid", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()