DuckDB.NET.Bindings 1.5.6.1

DuckDB.NET

DuckDB bindings for C#

GitHub Workflow Status Coveralls License Ko-Fi Discord

NuGet DuckDB.NET.Data NuGet DuckDB.NET.Bindings

NuGet DuckDB.NET.Data.Full NuGet DuckDB.NET.Bindings.Full

Project Icon

Usage

dotnet add package DuckDB.NET.Data.Full
using (var duckDBConnection = new DuckDBConnection("Data Source=file.db"))
{
  duckDBConnection.Open();

  using var command = duckDBConnection.CreateCommand();

  command.CommandText = "CREATE TABLE integers(foo INTEGER, bar INTEGER);";
  var executeNonQuery = command.ExecuteNonQuery();

  command.CommandText = "INSERT INTO integers VALUES (3, 4), (5, 6), (7, 8);";
  executeNonQuery = command.ExecuteNonQuery();

  command.CommandText = "Select count(*) from integers";
  var executeScalar = command.ExecuteScalar();

  command.CommandText = "SELECT foo, bar FROM integers";
  var reader = command.ExecuteReader();

  PrintQueryResults(reader);
}

private static void PrintQueryResults(DbDataReader queryResult)
{
  for (var index = 0; index < queryResult.FieldCount; index++)
  {
    var column = queryResult.GetName(index);
    Console.Write($"{column} ");
  }

  Console.WriteLine();

  while (queryResult.Read())
  {
    for (int ordinal = 0; ordinal < queryResult.FieldCount; ordinal++)
    {
      var val = queryResult.GetInt32(ordinal);
      Console.Write(val);
      Console.Write(" ");
    }

    Console.WriteLine();
  }
}

MotherDuck

To connect to MotherDuck:

using var duckDBConnection = new DuckDBConnection("DataSource=md:{your_database}?motherduck_token=ey...");

DuckDB Extensions (C#)

If you want to build DuckDB extensions with C#, see Giorgi/DuckDB.ExtensionKit.

Known Issues

When debugging your project that uses DuckDB.NET library, you may get the following error: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. The error happens due to debugger interaction with the native memory. For a workaround check out Debugger Options mess up debugging session during Marshalling

Documentation

Documentation is available at https://duckdb.net

Support

If you encounter a bug with the library Create an Issue. Join the DuckDB dotnet channel for DuckDB.NET-related topics.

Contributors

Contributors

Sponsors

A big thanks to DuckLabs and AWS Open Source Software Fund for sponsoring the project!

DuckLabs

AWS

Showing the top 20 packages that depend on DuckDB.NET.Bindings.

Packages Downloads
DuckDB.NET.Data
DuckDB ADO.NET Provider for C#
5
DuckDB.NET.Data
DuckDB ADO.NET Provider for C#. This package does not include a copy of the native DuckDB library.
5
DuckDB.NET.Data
DuckDB ADO.NET Provider for C#. This package does not include a copy of the native DuckDB library.
6
DuckDB.NET.Data
DuckDB ADO.NET Provider for C#. This package does not include a copy of the native DuckDB library.
8

  • Built on DuckDB v1.5.6

New features:

  • DuckDBHugeInt.ToInt128 and DuckDBUHugeInt.ToUInt128
  • Equality without boxing for DuckDBDateOnly, DuckDBTimeOnly, DuckDBTimestamp, DuckDBInterval and DuckDBTimeTz (IEquatable)
  • Bindings for duckdb_scalar_function_set_bind_data_copy and duckdb_unsafe_vector_assign_string_element_len

Performance:

  • Creating a DuckDBHugeInt or DuckDBUHugeInt from a BigInteger is faster and no longer allocates

Fixes:

  • DuckDBInterval reads and writes negative days and microseconds
  • DuckDBHugeInt accepts -2^127, and its limits no longer fail under cultures with another minus sign

.NET 10.0

  • No dependencies.

.NET 8.0

  • No dependencies.

Version Downloads Last updated
1.5.6.1 1 10/16/2026
1.5.6 1 10/16/2026
1.5.5 3 08/04/2026
1.5.3 3 05/28/2026
1.5.2 4 04/24/2026
1.5.0 15 04/06/2026
1.4.4 6 04/16/2026
1.4.4-alpha.2 5 04/24/2026
1.4.3 5 04/09/2026
1.4.1 6 04/23/2026
1.3.2 5 04/24/2026
1.3.0 5 04/24/2026
1.2.1 5 04/24/2026
1.2.1-alpha.8 5 04/24/2026
1.2.0 5 04/24/2026
1.1.3 5 04/24/2026
1.1.2.1 5 04/24/2026
1.1.2-alpha.5 5 04/24/2026
1.1.1 5 04/24/2026
1.1.0.1 5 04/24/2026
1.0.2 5 04/24/2026
1.0.1 5 04/24/2026
1.0.0 5 04/24/2026
0.10.3 5 04/24/2026
0.10.2 5 04/24/2026
0.10.1 5 04/24/2026
0.9.2 5 04/24/2026
0.9.1 5 04/24/2026
0.9.0.3 5 04/24/2026
0.9.0 5 04/24/2026
0.8.1 5 04/09/2026
0.8.0 5 04/24/2026
0.7.1 5 04/24/2026
0.6.1 5 04/24/2026
0.4.0.10 5 04/24/2026
0.4.0.1 5 04/24/2026
0.4.0 5 04/24/2026
0.2.9.1 5 04/24/2026
0.2.9 5 04/24/2026
0.1.3 5 04/24/2026
0.1.2 5 04/09/2026
0.1.1 5 04/09/2026
0.1.0 5 04/24/2026