ETLBox.Cli 3.8.0

dotnet tool install --global ETLBox.Cli --version 3.8.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local ETLBox.Cli --version 3.8.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ETLBox.Cli&version=3.8.0
                    
nuke :add-package ETLBox.Cli --version 3.8.0
                    

ETLBox CLI - Command-Line ETL and Data Integration for .NET

ETLBox Logo

Get Started | Overview | Code Examples | Licensing | Free Trial

What is ETLBox CLI?

ETLBox CLI is the command-line runtime for ETLBox DirectSync jobs. It executes data integration pipelines from a JSON config file and supports database-to-database, file-to-database, database-to-file, and file-to-file scenarios.

Use it to run ETL jobs in:

  • local automation scripts
  • CI/CD pipelines
  • scheduled server jobs
  • containerized workloads

Install

dotnet tool install --global ETLBox.Cli

Update an existing installation:

dotnet tool update --global ETLBox.Cli

Usage

Show version:

etlrun version

Run a DirectSync job with a config file:

etlrun directsync --config "directsync.config.json"

Example config (CSV to JSON)

{
  "Source": {
    "Type": "CSV",
    "FileOptions": {
      "ResourceType": "File",
      "FileOrFolder": "./source.csv"
    }
  },
  "Target": {
    "Type": "JSON",
    "FileOptions": {
      "ResourceType": "File",
      "FileOrFolder": "./target.json"
    }
  },
  "Mapping": {
    "Pairs": [
      { "Index": 0, "Source": "Id", "Target": "Id" },
      { "Index": 1, "Source": "Name", "Target": "Name" }
    ]
  }
}

This will transform a source.csv with this content:

Id,Name
1,A
2,B
3,C

into a target.json with this content:

[
  { "Id": 1, "Name": "A" },
  { "Id": 2, "Name": "B" },
  { "Id": 3, "Name": "C" }
]

Example config (Database to Database)

{
  "Source": {
    "Type": "Database",
    "DbConnectionOptions": {
      "ConnectionType": "SqlServer",
      "ConnectionString": "Data Source=localhost;Initial Catalog=SourceDb;Integrated Security=true;TrustServerCertificate=true;"
    },
    "DbOptionsSource": {
      "TableName": "dbo.SourceTable"
    }
  },
  "Target": {
    "Type": "Database",
    "DbConnectionOptions": {
      "ConnectionType": "SqlServer",
      "ConnectionString": "Data Source=localhost;Initial Catalog=TargetDb;Integrated Security=true;TrustServerCertificate=true;"
    },
    "DbOptionsDestination": {
      "TableName": "dbo.TargetTable",
      "UseMerge": true
    }
  },
  "Mapping": {
    "Pairs": [
      { "Index": 0, "Source": "Id", "Target": "Id" },
      { "Index": 1, "Source": "Name", "Target": "FullName" }
    ]
  },
  "Execution": {
    "ExecutionOptions": {
      "Limit": 100000
    }
  }
}

Exit codes

  • 0: success
  • 1: execution failed
  • 2: invalid/missing config or startup error
  • 130: cancelled

Licensing & Support

For tutorials, licensing information, and full ETLBox documentation visit: www.etlbox.net

For support and inquiries, contact: support@etlbox.net

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
3.8.0 108 4/9/2026
3.7.0 113 4/8/2026

We are constantly improving ETLBox - adding new features, fixing bugs, and enhancing performance to make data integration even easier.

For the latest updates and detailed release notes, visit: https://www.etlbox.net/release-notes/