---
title: Import Providers
slug: import-providers
createdAt: 2025-10-29T21:35:10.916Z
---

Import providers load external data into the connector's **import** table. Choose the provider that best fits your source system.

# Text (CSV/TSV/Fixed) Provider

**Class**

:::BlockQuote
Innovation.Activate.Library\Innovation.Activate.Connectors.ImportText
:::

**Example**

:::BlockQuote
\<import>
&#x20; \<provider>Innovation.Activate.Library\Innovation.Activate.Connectors.ImportText\</provider>
&#x20; \<fileName>C:\Imports\employees.csv\</fileName>
&#x20; \<headers>true\</headers>
&#x20; \<timeout>300\</timeout>
&#x20; \<batchSize>0\</batchSize>
\</import>
:::

**Options**

| Path        | Required | Default                 | Description                                      |
| ----------- | -------- | ----------------------- | ------------------------------------------------ |
| provider    | ✅        | —                       | Class name for Text provider.                    |
| fileName    | ✅        | —                       | Fully qualified path to the file.                |
| headers     | Optional | true                    | Indicates the first line contains column names.  |
| oleprovider | Optional | Microsoft.Jet.OleDb.4.0 | Underlying OLE DB provider.                      |
| type        | Optional | Text                    | Provider type passed to OLE DB.                  |
| timeout     | Optional | 300                     | Seconds to wait before timing out.               |
| batchSize   | Optional | 0                       | Number of rows per batch (0 = provider decides). |

# SQL Provider (Local/Remote SQL Server)

**Class**

:::BlockQuote
Innovation.Activate.Library\Innovation.Activate.Connectors.ImportSql
:::

**Example**

:::BlockQuote
\<import>
&#x20; \<provider>Innovation.Activate.Library\Innovation.Activate.Connectors.ImportSql\</provider>
&#x20; \<connectionString>Server=SQL01;Integrated Security=true;Initial Catalog=HRDB;\</connectionString>
&#x20; \<sql>EXEC dbo.GetEmployeesForActivate\</sql>
&#x20; \<timeout>120\</timeout>
&#x20; \<batchSize>0\</batchSize>
\</import>
:::

**Options**

| Path             | Required | Default | Description                                          |
| ---------------- | -------- | ------- | ---------------------------------------------------- |
| provider         | ✅        | —       | Class name for SQL provider.                         |
| connectionString | ✅        | —       | SQL connection string (use . for local Activate DB). |
| sql              | ✅        | —       | SELECT or EXEC statement.                            |
| timeout          | Optional | 120     | Seconds before command timeout.                      |
| batchSize        | Optional | 0       | Rows per batch for remote SQL loads.                 |

# Script Provider (Custom Sources & APIs)

Use script when you need to call web services, read custom APIs, or transform input before load.

**Class**

:::BlockQuote
Innovation.Activate.Library\Innovation.Activate.Connectors.ImportScript
:::

**Example**

:::BlockQuote
\<import>
&#x20; \<provider>Innovation.Activate.Library\Innovation.Activate.Connectors.ImportScript\</provider>
&#x20; \<script>=/Script\</script>
&#x20; \<batchSize>10\</batchSize>
\</import>
:::

**Behavior**

- Your script calls **AddRow** to push rows into the import set.&#x20;
- Rows are committed every batchSize calls to AddRow.&#x20;

**Options**

| Path      | Required | Default | Description                     |
| --------- | -------- | ------- | ------------------------------- |
| provider  | ✅        | —       | Class name for Script provider. |
| script    | ✅        | —       | Pointer to the script to run.   |
| batchSize | Optional | 10      | Rows committed per batch.       |

# Provider Selection Guide

- **Text** — Simple flat files delivered on a schedule.&#x20;
- **SQL** — First choice when the source is a database and you can control a view or stored procedure.&#x20;
- **Script** — For APIs, complex transforms, or multi-source joins.&#x20;

# Operational Tips

- Validate column names and types against your **schema** before first run.&#x20;
- Set conservative timeout and batchSize during early testing.&#x20;
- Use a staging environment to verify **row counts** and **key uniqueness**.&#x20;
- Include **notify** steps in workflows to surface provider failures quickly.&#x20;
