BassUtils.Oracle 4.7.0

dotnet add package BassUtils.Oracle --version 4.7.0
NuGet\Install-Package BassUtils.Oracle -Version 4.7.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="BassUtils.Oracle" Version="4.7.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BassUtils.Oracle --version 4.7.0
#r "nuget: BassUtils.Oracle, 4.7.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 BassUtils.Oracle as a Cake Addin
#addin nuget:?package=BassUtils.Oracle&version=4.7.0

// Install BassUtils.Oracle as a Cake Tool
#tool nuget:?package=BassUtils.Oracle&version=4.7.0


NuGet Badge

Low-level utility functions to simplify working with Oracle via Oracle.ManagedDataAccess.Core. Available on NuGet

The GitHub repository includes a sample project called BassUtils.OracleExamples.

It shows how to use all the extension methods in this project, especially the OracleParameterCollectionExtensions. You can install Oracle via Docker if need be - see the SQL script for instructions.

Oracle's official documentation for ODP.Net

Also available: BassUtils and BassUtils.NetCore


  • DbTransactionExtensions: wrapper methods to log success/failure methods when performing database transactions.
  • OracleConnectionExtensions: Easier to use overloads of the OracleUdt.GetValue and OracleUdt.SetValue methods.
  • WrappedTransaction: bundles a transaction and its connection together to make them easier to dispose correctly.
  • OracleParameterExtensions: extension methods to get the Value property as an OracleDataReader or as a list of strings or numbers.
  • OracleParameterCollectionExtensions: many extension methods to help with creating parameters and RETURN parameters for UDTs and tables of UDTs, Associative Arrays, and Array Binding, and Ref Cursors

Change History

  • OracleDb simple abstract base class.
  • In GetStringLengths, handle null strings by returning 0.
  • Improved the description of the NuGet package.
  • The AddAssociativeArray family of functions must actually call ToArray on their values or ODP.Net will give an error (e.g. if you pass it a LINQ enumerable).
  • Added the WrappedTransaction class, which bundles an OracleTransaction together with its corresponding OracleConnection and ensures they are properly disposed together.
  • Fixed the logging in DbTransactionExtensions so that it works properly with non-MS loggers (tested with Serilog).
  • Trimmed the READMEs for the 3 BassUtils packages to be just relevant to them.
  • Added NuGet badges.
  • Library created.
Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.7.0 1,862 1/19/2023
4.6.3 892 10/13/2022
4.6.2 878 9/8/2022
4.6.1 747 9/8/2022
4.6.0 2,177 1/31/2022
4.5.0 777 1/11/2022
4.4.2 646 1/1/2022
4.4.1 620 12/28/2021
4.2.4-alpha-g3e4abfb12d 565 12/17/2021
4.2.2-alpha-g73bc890b96 522 12/16/2021
4.2.1-alpha-gd2c57a210b 526 12/16/2021

2023-01-19 New version 4.7.0. Add OracleDb base class.
2022-10-13 Bug fix to properly handle null strings when using array binding.
2022-09-08 Bug fix to AssociativeArray fns.
2022-01-28 Added WrappedTransaction.
2021-12-28 Initial version.