Db2

This page contains the latest information of the releases of RepoDb.Db2 library.

View the NuGet package here or download it directly here.

RepoDb.Db2 (v1.16.0)

Released: September 9, 2026

Version bump only, aligning with the RepoDB ecosystem-wide v1.16.0 release — no functional changes since v1.0.0.

  • Referenced the RepoDb package v1.16.0.

RepoDb.Db2 (v1.0.0)

Released: September 8, 2026

First general availability (non-preview) release of the Db2 provider, promoting the v0.0.1-beta2 preview below to stable. No functional changes since v0.0.1-beta2 — see that entry (and v0.0.1-alpha further below) for the full changelog and known limitations.

RepoDb.Db2 (v0.0.1-beta2) - Preview

Released: August 23, 2026

New

RepoDb.Db2 (v0.0.1-alpha) - Preview

Released: August 10, 2026

New

First (alpha) release of the Db2 provider for RepoDB, built on top of the IBM Data Server .NET Provider (Net.IBM.Data.Db2). Targets Db2 for Linux, UNIX, and Windows (LUW) 10.5 and later, and .NET 8, .NET 9, and .NET 10.

What’s included

Known limitations (v1)

  • Every statement binds parameters using :Name-style host variables. IBM’s Data Server .NET Provider disables host-variable support by default, so the connection string must include HostVarParameters=True;, otherwise every parameterized call fails with DB2Exception SQL0313N.
  • InsertAll/MergeAll/UpdateAll batch multiple entities into a single round trip, but InsertAll’s row-to-identity correlation relies on an assumption not yet verified against a live Db2 instance: that FINAL TABLE’s result rows preserve the source VALUES list order. Verify thoroughly before relying on it in production.
  • MergeAll throws NotSupportedException for a batchSize greater than 1 when the identity column is used as a qualifier, since a freshly-inserted row’s caller-bound qualifier value can’t be safely re-correlated within a mixed matched/unmatched batch. Pass an explicit non-identity qualifier, or call with batchSize: 1.
  • Merge’s generated-key retrieval falls back to re-reading MAX(<key>) off the table rather than IDENTITY_VAL_LOCAL(), since Db2 LUW’s per-statement autocommit clears that register before the follow-up SELECT runs — a best-effort read, not a guarantee, if another connection concurrently inserts into the same table.
  • Merge/MergeAll against tables with several LOB columns can fail with SQL1585N (system temporary tablespace too small); provisioning a 32K-page temporary tablespace works around it. XML-mapped fields are not supported in Merge/MergeAll at all.
  • No native GUID/UNIQUEIDENTIFIER type — map a Guid property as byte[], or register Db2GuidToByteArrayPropertyHandler per-property.
  • The published package only references the Windows driver package (Net.IBM.Data.Db2) transitively. Linux, macOS, and other non-Windows consumers must add the matching Net.IBM.Data.Db2-* package themselves — see Get Started for Db2.
  • Db2 for z/OS and Db2 for i are not currently tested against — only Db2 LUW 10.5 and later.

  • Referenced the RepoDb package v1.16.0.
  • Referenced the Net.IBM.Data.Db2 / Net.IBM.Data.Db2-lnx package v9.0.0.400 (v10.0.0.200 on .NET 10).