ETLBox 3.0.0
See the version list below for details.
dotnet add package ETLBox --version 3.0.0
NuGet\Install-Package ETLBox -Version 3.0.0
<PackageReference Include="ETLBox" Version="3.0.0" />
paket add ETLBox --version 3.0.0
#r "nuget: ETLBox, 3.0.0"
// 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 | Versions 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. 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. |
.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. |
-
.NETStandard 2.0
- Azure.Storage.Blobs (>= 12.16.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 7.0.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Data.Common (>= 4.3.0)
- System.Threading.Tasks.Dataflow (>= 7.0.0)
- TSQL.Parser (>= 2.6.0)
-
net6.0
- Azure.Storage.Blobs (>= 12.16.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 7.0.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Data.Common (>= 4.3.0)
- System.Threading.Tasks.Dataflow (>= 7.0.0)
- TSQL.Parser (>= 2.6.0)
-
net7.0
- Azure.Storage.Blobs (>= 12.16.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 7.0.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Data.Common (>= 4.3.0)
- System.Threading.Tasks.Dataflow (>= 7.0.0)
- TSQL.Parser (>= 2.6.0)
NuGet packages (32)
Showing the top 5 NuGet packages that depend on ETLBox:
Package | Downloads |
---|---|
ETLBox.SqlServer
This is the SQL Server connector for ETLBox. It enables integration with Microsoft SQL Server for handling structured data in ETL workflows. ETLBox is a lightweight ETL (Extract, Transform, Load) library and data integration toolbox for .NET. # Build Scalable Data Pipelines for SQL, NoSQL, APIs, and Flat Files # Automate Data Transformation, Validation, and Cleaning # Ideal for Data Warehousing, Migration, and Synchronization Simplify Data Integration and Automation: ETLBox provides source and destination components to read and write data from databases, APIs, and file formats like CSV, Excel, and JSON. Transformations let you harmonize, filter, aggregate, validate, and clean your data in parallel workflows. Key Features: * Supports streaming data pipelines for real-time processing * Parallel data flow processing for faster ETL pipelines * Extensive set of built-in connectors with support for custom extensions For tutorials, examples, and documentation visit: https://www.etlbox.net |
|
ETLBox.Json
This is the JSON connector for ETLBox. It lets you handle structured and semi-structured JSON data, whether working with files or APIs. ETLBox is a lightweight ETL (Extract, Transform, Load) library and data integration toolbox for .NET. # Build Scalable Data Pipelines for SQL, NoSQL, APIs, and Flat Files # Automate Data Transformation, Validation, and Cleaning # Ideal for Data Warehousing, Migration, and Synchronization Simplify Data Integration and Automation: ETLBox provides source and destination components to read and write data from databases, APIs, and file formats like CSV, Excel, and JSON. Transformations let you harmonize, filter, aggregate, validate, and clean your data in parallel workflows. Key Features: * Supports streaming data pipelines for real-time processing * Parallel data flow processing for faster ETL pipelines * Extensive set of built-in connectors with support for custom extensions For tutorials, examples, and documentation visit: https://www.etlbox.net |
|
ETLBox.Postgres
This is the PostgreSQL connector for ETLBox. It supports reading from and writing to PostgreSQL databases for scalable data pipelines. ETLBox is a lightweight ETL (Extract, Transform, Load) library and data integration toolbox for .NET. # Build Scalable Data Pipelines for SQL, NoSQL, APIs, and Flat Files # Automate Data Transformation, Validation, and Cleaning # Ideal for Data Warehousing, Migration, and Synchronization Simplify Data Integration and Automation: ETLBox provides source and destination components to read and write data from databases, APIs, and file formats like CSV, Excel, and JSON. Transformations let you harmonize, filter, aggregate, validate, and clean your data in parallel workflows. Key Features: * Supports streaming data pipelines for real-time processing * Parallel data flow processing for faster ETL pipelines * Extensive set of built-in connectors with support for custom extensions For tutorials, examples, and documentation visit: https://www.etlbox.net |
|
ETLBox.Csv
This is the CSV connector for ETLBox. It helps you read and write data in CSV format, making it easy to handle flat-file data for import, export, and transformations. ETLBox is a lightweight ETL (Extract, Transform, Load) library and data integration toolbox for .NET. # Build Scalable Data Pipelines for SQL, NoSQL, APIs, and Flat Files # Automate Data Transformation, Validation, and Cleaning # Ideal for Data Warehousing, Migration, and Synchronization Simplify Data Integration and Automation: ETLBox provides source and destination components to read and write data from databases, APIs, and file formats like CSV, Excel, and JSON. Transformations let you harmonize, filter, aggregate, validate, and clean your data in parallel workflows. Key Features: * Supports streaming data pipelines for real-time processing * Parallel data flow processing for faster ETL pipelines * Extensive set of built-in connectors with support for custom extensions For tutorials, examples, and documentation visit: https://www.etlbox.net |
|
ETLBox.MySql
This is the MySQL connector for ETLBox. It lets you connect to MySQL databases, handling relational data for ETL tasks and integrations. ETLBox is a lightweight ETL (Extract, Transform, Load) library and data integration toolbox for .NET. # Build Scalable Data Pipelines for SQL, NoSQL, APIs, and Flat Files # Automate Data Transformation, Validation, and Cleaning # Ideal for Data Warehousing, Migration, and Synchronization Simplify Data Integration and Automation: ETLBox provides source and destination components to read and write data from databases, APIs, and file formats like CSV, Excel, and JSON. Transformations let you harmonize, filter, aggregate, validate, and clean your data in parallel workflows. Key Features: * Supports streaming data pipelines for real-time processing * Parallel data flow processing for faster ETL pipelines * Extensive set of built-in connectors with support for custom extensions For tutorials, examples, and documentation visit: https://www.etlbox.net |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.6.1 | 7,032 | 1/6/2025 |
3.6.0 | 765 | 1/6/2025 |
3.5.2 | 3,653 | 12/20/2024 |
3.5.2-beta | 79 | 12/10/2024 |
3.5.2-alpha | 75 | 12/3/2024 |
3.5.1 | 889 | 11/15/2024 |
3.5.0 | 1,668 | 10/14/2024 |
3.4.4 | 848 | 9/30/2024 |
3.4.3 | 1,164 | 9/12/2024 |
3.4.2 | 1,063 | 9/3/2024 |
3.4.1 | 1,629 | 7/15/2024 |
3.4.0 | 2,782 | 5/29/2024 |
3.3.0 | 3,677 | 3/14/2024 |
3.2.0 | 10,741 | 1/11/2024 |
3.1.0 | 6,138 | 11/24/2023 |
3.0.2 | 13,873 | 10/6/2023 |
3.0.1 | 2,355 | 9/27/2023 |
3.0.0 | 6,292 | 7/11/2023 |
2.7.1 | 2,510 | 6/5/2023 |
2.7.0 | 5,112 | 4/4/2023 |
2.6.8 | 6,648 | 2/9/2023 |
2.6.7 | 4,668 | 1/9/2023 |
2.6.6 | 8,217 | 10/28/2022 |
2.6.5 | 6,964 | 10/19/2022 |
2.6.4 | 7,067 | 10/10/2022 |
2.6.3 | 7,105 | 9/26/2022 |
2.6.2 | 7,168 | 7/8/2022 |
2.6.1 | 7,599 | 5/19/2022 |
2.6.0 | 7,444 | 3/22/2022 |
2.5.2 | 7,265 | 12/30/2021 |
2.5.1 | 4,560 | 10/8/2021 |
2.5.0 | 8,241 | 9/27/2021 |
2.4.4 | 5,505 | 8/4/2021 |
2.4.3 | 4,278 | 7/16/2021 |
2.4.2 | 4,302 | 7/2/2021 |
2.4.1 | 9,367 | 5/17/2021 |
2.4.0 | 4,121 | 4/13/2021 |
2.3.2 | 1,751 | 3/2/2021 |
2.3.1 | 4,157 | 2/16/2021 |
2.3.0 | 5,345 | 1/11/2021 |
2.2.5 | 4,381 | 12/21/2020 |
2.2.4 | 3,682 | 12/15/2020 |
2.2.3 | 3,994 | 12/4/2020 |
2.2.1 | 1,579 | 11/23/2020 |
2.2.0 | 4,457 | 11/17/2020 |
2.1.4-beta | 1,269 | 10/28/2020 |
2.1.4-alpha | 774 | 10/24/2020 |
2.1.3 | 1,725 | 10/23/2020 |
2.1.2 | 5,481 | 9/24/2020 |
2.1.1 | 1,716 | 9/3/2020 |
2.1.0 | 3,884 | 9/3/2020 |
2.0.7 | 1,108 | 8/13/2020 |
2.0.6 | 1,170 | 8/13/2020 |
2.0.5 | 1,807 | 7/14/2020 |
2.0.4 | 1,603 | 7/9/2020 |
2.0.3 | 1,530 | 7/1/2020 |
2.0.2 | 3,946 | 7/1/2020 |
2.0.1 | 3,650 | 6/19/2020 |
2.0.0 | 3,209 | 6/10/2020 |
1.8.9 | 1,411 | 6/10/2020 |
1.8.8 | 1,240 | 5/27/2020 |
1.8.8-beta | 838 | 5/24/2020 |
1.8.8-alpha | 881 | 5/18/2020 |
1.8.7 | 16,991 | 5/12/2020 |
1.8.7-alpha | 792 | 4/22/2020 |
1.8.6 | 3,752 | 4/21/2020 |
1.8.5 | 2,250 | 4/9/2020 |
1.8.4 | 1,104 | 4/6/2020 |
1.8.3 | 2,843 | 3/24/2020 |
1.8.2 | 1,367 | 3/9/2020 |
1.8.2-alpha | 942 | 2/28/2020 |
1.8.1 | 2,621 | 2/27/2020 |
1.8.0 | 2,303 | 2/22/2020 |
1.8.0-rc2 | 944 | 2/15/2020 |
1.8.0-rc1 | 798 | 2/14/2020 |
1.8.0-beta | 787 | 2/10/2020 |
1.8.0-alpha | 876 | 2/4/2020 |
1.7.7 | 1,463 | 1/29/2020 |
1.7.6 | 1,274 | 1/15/2020 |
1.7.5 | 1,257 | 1/5/2020 |
1.7.5-alpha | 830 | 1/3/2020 |
1.7.4 | 1,169 | 1/2/2020 |
1.7.4-alpha | 798 | 12/31/2019 |
1.7.3 | 1,136 | 12/26/2019 |
1.7.2 | 1,141 | 12/16/2019 |
1.7.1 | 1,673 | 11/30/2019 |
1.7.0 | 971 | 11/25/2019 |
1.6.5 | 1,056 | 11/22/2019 |
1.6.4 | 1,017 | 11/17/2019 |
1.6.3 | 1,646 | 11/8/2019 |
1.6.2 | 1,042 | 11/4/2019 |
1.6.2-alpha | 827 | 10/22/2019 |
1.6.1 | 1,378 | 10/18/2019 |
1.6.0 | 1,045 | 10/7/2019 |
1.5.0 | 1,121 | 9/13/2019 |
1.4.2 | 1,032 | 8/30/2019 |
1.4.1 | 953 | 8/27/2019 |
1.4.0 | 969 | 8/8/2019 |
1.3.2 | 944 | 8/5/2019 |
1.3.1 | 1,078 | 6/26/2019 |
1.3.0 | 1,053 | 6/6/2019 |
1.2.3 | 997 | 6/5/2019 |
1.2.2 | 1,101 | 5/24/2019 |
1.2.1 | 1,039 | 4/22/2019 |
1.2.0 | 1,094 | 4/13/2019 |
1.1.2 | 1,127 | 3/28/2019 |
1.1.1 | 1,435 | 2/2/2019 |
1.1.0 | 1,127 | 1/28/2019 |
1.1.0-beta | 962 | 1/14/2019 |
1.0.1 | 1,221 | 12/20/2018 |
1.0.0 | 1,136 | 12/17/2018 |
0.1.1 | 1,257 | 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