In this post, I will demonstrate how to connect to Teradata database via .NET Data Provider for Teradata using C#.


Install the .NET Data Provider for Teradata from the following link:

Teradata Tools and Utilities Windows Installation Package

Step 1 Create a Console Project

Name it as’' ‘ConsoleApps.Teradata’.

Add reference to library ‘.NET Data Provider for Teradata’ as shown in the following screenshot:


The version in my PC is You can always download the latest version from Teradata official site.

Step 2 Create a method to read data from Teradata

Remember to import the namespace ‘Teradata.Client.Provider’.

using System;
using Teradata.Client.Provider;

namespace ConsoleApps.Teradata
    class Program
        static void Main(string[] args)


        private static void DisplayEmployeeInfoFromTeraData()

Step 3 Implement the method

Create connection, command and adapter objects to read data in a standard ADO.NET way.

The sample code will be similar to what I’ve provided here:

private static void DisplayEmployeeInfoFromTeraData()
            var employeeData = new DataSet();

            var connectionString = "Data Source=;User ID=dbc;Password=dbc;";
            using (var connection = new TdConnection(connectionString))
                var sql = @"SELECT Emp.EmployeeID,
        WHEN  Emp.Gendar = 'M' THEN 'Dear MR ' || Emp.EmployeeName ELSE 'Dear MS ' ||Emp.EmployeeName
    END AS ""Employee Salutation""
    FROM TD_MS_SAMPLE_DB.Employee Emp; ";
                var command = new TdCommand(sql, connection);
                var adapter = new TdDataAdapter(command);



        private static void DisplayEmployeeData(DataSet employeeData)
            if (employeeData.Tables != null && employeeData.Tables.Count > 0)
                var employees = employeeData.Tables[0];
                var columnCount = employees.Columns.Count;
                foreach (DataRow row in employees.Rows)
                    for (int i = 0; i < columnCount; i++)
                        var col = employees.Columns[i];
                        Console.WriteLine("{0} = {1}", col.ColumnName, row[i]);   
                Console.WriteLine("{0} Records", employees.Rows.Count);

In this sample, I am connecting to a local Teradata virtual machine with address as ‘’. One thing to notice is that all the class names are prefixed with ‘Td’, e.g. Connection class is named TdConnection, Command class is named TdCommand and so forth.

Step 4 The result



Teradata is used in many data warehousing projects. If you really wants to use it in your OLTP projects, you can connect to it via .NET Data Provider for Teradata or ODBC Teradata provider. The syntax will be similar as connecting to SQL Server, Oracle or any other databases supported by ADO.NET.

About author
The opinions and comments expressed herein are my own personal opinions and do not represent my employer's view in any way.

Re:[C#] Connect to Teradata Database via .NET Data Provider

I have been doing the your tutorial on teradata. Aren't there more tutorial where you query multiple tables at once? I wanted to get a practice on those. Please send me a link if you have such tutorial. I mean more advanced queries, your tutorial were so easy to understand, I need such other complex example urgently.

Author: Neuwa Rakgajane @ 5/26/2016 7:01:35 AM | [Reply]

Re:[C#] Connect to Teradata Database via .NET Data Provider

@Neuwa Rakgajane There will be no much difference whether you want to query from one table or from multiple. You can refer to ADO.NET to understand all the operations you can do with Teradata .Net Data Provider. In terms of writing complex SQL query, I was planning to create a serial about querying Teradata but have not completed yet.

Author: Raymond @ 5/26/2016 4:24:46 PM | [Reply]

Add comment
Title is required.
Name is required.
Please input your personal email with valid format.
Please input comment content.
Captcha Refresh
Input captcha:



Locations of visitors to this page