DuckDB.NET.Bindings 1.5.6

dotnet add package DuckDB.NET.Bindings --version 1.5.6
                    
NuGet\Install-Package DuckDB.NET.Bindings -Version 1.5.6
                    
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="DuckDB.NET.Bindings" Version="1.5.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DuckDB.NET.Bindings" Version="1.5.6" />
                    
Directory.Packages.props
<PackageReference Include="DuckDB.NET.Bindings" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DuckDB.NET.Bindings --version 1.5.6
                    
#r "nuget: DuckDB.NET.Bindings, 1.5.6"
                    
#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.
#:package DuckDB.NET.Bindings@1.5.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DuckDB.NET.Bindings&version=1.5.6
                    
Install as a Cake Addin
#tool nuget:?package=DuckDB.NET.Bindings&version=1.5.6
                    
Install as a Cake Tool

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

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 is compatible.  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.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DuckDB.NET.Bindings:

Package Downloads
DuckDB.NET.Data

DuckDB ADO.NET Provider for C#. This package does not include a copy of the native DuckDB library.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on DuckDB.NET.Bindings:

Repository Stars
jacking75/programming-books-with-ai
AI 와 같이 만든 프로그래밍 책들
Version Downloads Last Updated
1.5.6 280 9/28/2026
1.5.5 29,851 7/26/2026
1.5.3 24,203 5/24/2026
1.5.2 44,328 4/24/2026
1.5.0 26,973 3/10/2026
1.4.4 21,838 2/3/2026
1.4.4-alpha.2 506 12/19/2025
1.4.3 24,170 12/11/2025
1.4.1 38,631 10/13/2025
1.3.2 29,733 7/8/2025
1.3.0 30,657 6/3/2025
1.2.1 5,941 3/5/2025
1.2.1-alpha.8 186 2/19/2025
1.2.0 10,656 2/6/2025
1.1.3 90,599 11/7/2024
1.1.2.1 42,436 10/21/2024
1.1.2-alpha.5 192 10/10/2024
1.1.1 13,822 9/24/2024
1.1.0.1 5,488 9/9/2024
Loading failed

- Updated to DuckDB v1.5.6

New features:
- Added binding for duckdb_create_bignum and the DuckDBBignum struct