ETLBox 3.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ETLBox --version 3.0.0
NuGet\Install-Package ETLBox -Version 3.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ETLBox" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ETLBox --version 3.0.0
#r "nuget: ETLBox, 3.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ETLBox as a Cake Addin
#addin nuget:?package=ETLBox&version=3.0.0

// Install ETLBox as a Cake Tool
#tool nuget:?package=ETLBox&version=3.0.0

What is ETLBox

ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. You can use it to read any data from different sources and connect them with customizable transformations. Finally, you can export the data into different databases, web endpoints, file types or any other destinations. While data is processed in memory, you can choose between different transformation components to harmonize, filter, aggregate, validate and clean your data.

ETLBox is a fully functional alternative to other ETL tools like SQLServer Integrations Services (SSIS) or Azure Data Factory. The main difference to other toolsets is that it doesn’t come with a User Interface. But no worries! Working with ETLBox, you will discover that creating data flows programmatically is the best approach for solving most of your ETL and data integration related problems.

Why should I choose ETLBox?

Here are a few things you can do with ETLBox:

  • Convert incoming data to a common format.
  • Prepare data for analysis and visualization.
  • Migrate between databases.
  • Share data processing logic across web apps, batch jobs, and APIs.
  • Power your data ingestion and integration tools.
  • Consume large CSV, Excel or Json files.
  • Process big data with a limited amount of memory.
  • Bulk insert, update or delete into your database.

Core concepts

ETLBox is a data processing engine based on .NET Core, giving you the power to create your own ETL processes. This engine runs inside your applications, APIs, and jobs to extract, filter, transform, migrate data on-the-fly. ETLBox speeds up your development by providing an easy-to-use toolbox for integrating your data from different sources within your app and load them into any target you like.

Learn more: www.etlbox.net

Ready to learn more? Visit www.etlbox.net and get started with coding your own ETL jobs with C#!

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (31)

Showing the top 5 NuGet packages that depend on ETLBox:

Package Downloads
ETLBox.SqlServer

This is the Sql Server connector pack for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET.

ETLBox.Json

This is the Json connector for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET.

ETLBox.Postgres

This is the Postgres connector pack for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET.

ETLBox.MySql

This is the MySql connector for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET.

ETLBox.Csv

This is the Csv connector for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.3.0 997 3/14/2024
3.2.0 5,291 1/11/2024
3.1.0 5,248 11/24/2023
3.0.2 6,824 10/6/2023
3.0.1 2,047 9/27/2023
3.0.0 5,351 7/11/2023
2.7.1 2,187 6/5/2023
2.7.0 4,840 4/4/2023
2.6.8 6,152 2/9/2023
2.6.7 4,386 1/9/2023
2.6.6 7,851 10/28/2022
2.6.5 6,716 10/19/2022
2.6.4 6,798 10/10/2022
2.6.3 6,829 9/26/2022
2.6.2 6,890 7/8/2022
2.6.1 7,382 5/19/2022
2.6.0 7,082 3/22/2022
2.5.2 6,513 12/30/2021
2.5.1 4,323 10/8/2021
2.5.0 8,004 9/27/2021
2.4.4 5,044 8/4/2021
2.4.3 4,060 7/16/2021
2.4.2 4,089 7/2/2021
2.4.1 9,099 5/17/2021
2.4.0 3,885 4/13/2021
2.3.2 1,652 3/2/2021
2.3.1 3,936 2/16/2021
2.3.0 4,910 1/11/2021
2.2.5 4,167 12/21/2020
2.2.4 3,500 12/15/2020
2.2.3 3,828 12/4/2020
2.2.1 1,497 11/23/2020
2.2.0 4,239 11/17/2020
2.1.4-beta 1,207 10/28/2020
2.1.4-alpha 730 10/24/2020
2.1.3 1,686 10/23/2020
2.1.2 5,247 9/24/2020
2.1.1 1,678 9/3/2020
2.1.0 3,712 9/3/2020
2.0.7 1,054 8/13/2020
2.0.6 1,124 8/13/2020
2.0.5 1,752 7/14/2020
2.0.4 1,555 7/9/2020
2.0.3 1,473 7/1/2020
2.0.2 3,754 7/1/2020
2.0.1 3,487 6/19/2020
2.0.0 3,062 6/10/2020
1.8.9 1,364 6/10/2020
1.8.8 1,149 5/27/2020
1.8.8-beta 783 5/24/2020
1.8.8-alpha 842 5/18/2020
1.8.7 16,938 5/12/2020
1.8.7-alpha 720 4/22/2020
1.8.6 3,657 4/21/2020
1.8.5 2,167 4/9/2020
1.8.4 1,066 4/6/2020
1.8.3 2,782 3/24/2020
1.8.2 1,293 3/9/2020
1.8.2-alpha 901 2/28/2020
1.8.1 2,567 2/27/2020
1.8.0 2,204 2/22/2020
1.8.0-rc2 853 2/15/2020
1.8.0-rc1 727 2/14/2020
1.8.0-beta 746 2/10/2020
1.8.0-alpha 796 2/4/2020
1.7.7 1,403 1/29/2020
1.7.6 1,220 1/15/2020
1.7.5 1,162 1/5/2020
1.7.5-alpha 749 1/3/2020
1.7.4 1,126 1/2/2020
1.7.4-alpha 737 12/31/2019
1.7.3 1,095 12/26/2019
1.7.2 1,086 12/16/2019
1.7.1 1,614 11/30/2019
1.7.0 931 11/25/2019
1.6.5 1,017 11/22/2019
1.6.4 965 11/17/2019
1.6.3 1,465 11/8/2019
1.6.2 1,000 11/4/2019
1.6.2-alpha 768 10/22/2019
1.6.1 1,200 10/18/2019
1.6.0 993 10/7/2019
1.5.0 1,082 9/13/2019
1.4.2 996 8/30/2019
1.4.1 915 8/27/2019
1.4.0 917 8/8/2019
1.3.2 903 8/5/2019
1.3.1 1,037 6/26/2019
1.3.0 1,012 6/6/2019
1.2.3 949 6/5/2019
1.2.2 1,059 5/24/2019
1.2.1 1,000 4/22/2019
1.2.0 1,052 4/13/2019
1.1.2 1,074 3/28/2019
1.1.1 1,369 2/2/2019
1.1.0 1,082 1/28/2019
1.1.0-beta 922 1/14/2019
1.0.1 1,180 12/20/2018
1.0.0 1,094 12/17/2018
0.1.1 1,212 12/10/2018

This package is a major upgrade and contains some breaking changes when upgrading from 2.X.
Almost all breaking changes are either slight property renamings or occur because some classes have been moved to a different namespace. Breaking changes are marked below with the indicator [BREAKING].

New Features:
- Updating package references to current version, Improving support for .NET 7 and .NET 6
- Using MySqlConnector (instead of MySql.Data connector) when connecting to MariaDb
- Adding MariaDbOdbcConnector which allows Odbc connections to MariaDb
- New connector: Snowflake
- LogProcessTask: Start/End/Abort will modify passed process, and not create new instance
- Adding SnowflakeOdbcConnector which allow Odbc connections to Snowflake
- New connector: Neo4j
- New connector: Azure Cosmos Db
- Renamed package ETLBox.AzureServiceBus to ETLBox.Azure.ServiceBus
- New connector: Azure Tables
- New connector: SAP HANA
- Azure ServiceBusSource now allows to fetch multiple messages with MaxMessageSize
- Adding HanaOdbcConnector which allows Odbc connections to SAP HANA
- Network class now throws exception when trying to run network twice (no network execution/no error message before)
- Improved support for Db2 and different architectures (LUW, zOS, Cloud)
- SqlTask: Removed obsolete static helper methods that contained a "name" properties
- SqlTask: Removed obsolete static helper methods ExecuteReaderSingleLine
- DbDestination / DbMerge: Removing obsolete Wait() method
- [BREAKING] QueryParameter: Renamed DBType -> DbType, DBSize -> DbSize, Type -> SqlType
- [BREAKING] Static class DataFlow renamed to Settings, properties of static class ControlFlow (DefaultDbConnection) moved into Settings, new namespace: ETLBox (was ETLBox.DataFlow before)
- [BREAKING] Prpoerty LogInstance (ETLBox.Logging.Logging) moved into ETLBox.DataFlow.Settings
- [BREAKING] New namespace ETLBox, which contains some shared classes that were used in other namespaces before
- [BREAKING] Namespace ETLBox.DataFlow now combines ETLBox.DataFlow, ETLBox.DataFlow.Connectors and ETLBox.DataFlow.Transformations
- [BREAKING] Namespace ETLBox.ControlFlow now combines ETLBox.ControlFlow and ETLBox.ControlFlow.Tasks
- [BREAKING] Moved ObjectNameDescriptor from ETLBox.Helper to ETLBox.ControlFlow
- [BREAKING] Created separate namespace for all classes which are added via separate package (e.g. JsonSource is now in the namespace ETLBox.Json)
- [BREAKING] Renamed Attribute [ColumnMap] to [DbColumnMap]
- [BREAKING] Renamed DbSource. SourceTableDefinition -> TableDefinition and DbDestination.DestinationTableDefinition to TableDefinition
- [BREAKING] DbMerge.MergeProperties: The properties (IdColumns, UpdateColumns, CompareColumns, DeleteColumns) are now direct properties of DbMerge
- [BREAKING] Renamed enum ConnectionManagerType to ConnectionType, Property IConnectionManager.ConnectionManagerType to ConnectionType

Bug fixes:
- Fixed issues with spaces in table names for GetTableListTask
- Improving support for dynamic objects in Azure ServiceBusSource