DubUrl.Extensions.DependencyInjection 0.1.122

There is a newer version of this package available.
See the version list below for details.
dotnet add package DubUrl.Extensions.DependencyInjection --version 0.1.122                
NuGet\Install-Package DubUrl.Extensions.DependencyInjection -Version 0.1.122                
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="DubUrl.Extensions.DependencyInjection" Version="0.1.122" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DubUrl.Extensions.DependencyInjection --version 0.1.122                
#r "nuget: DubUrl.Extensions.DependencyInjection, 0.1.122"                
#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 DubUrl.Extensions.DependencyInjection as a Cake Addin
#addin nuget:?package=DubUrl.Extensions.DependencyInjection&version=0.1.122

// Install DubUrl.Extensions.DependencyInjection as a Cake Tool
#tool nuget:?package=DubUrl.Extensions.DependencyInjection&version=0.1.122                

DubUrl

DubUrl provides a standard, URL style mechanism for parsing database connection strings and opening DbConnections for .NET. With DubUrl, you can parse and open URLs for popular databases such as Microsoft SQL Server, PostgreSQL, Mongodb, Neo4j, MySQL, SQLite3, Oracle Database and most of the other SQL databases. This project is inspired from the package dburl available in the GoLang ecosystem and is trying to match the aliases for portocols.

About | Overview | Quickstart | Examples | Schemes | Installing | Using

About

Social media: twitter badge

Releases: nuget licence badge

Dev. activity: GitHub last commit Still maintained GitHub commit activity

Continuous integration builds: Build status Tests

Status: stars badge Bugs badge Features badge Features badge Features badge Features badge Top language

Database Connection URL Overview

Supported database connection URLs are of the form:

driver:alias://user:pass@host/dbname?opt1=a&opt2=b

Where:

Component Description
alias database type (see below)
driver driver/provider name (only for odbc/oleodbc)
user username
pass password
host host
dbname<sup>*</sup> database, instance, or service name/ID to connect to
?opt1=... additional database driver options (see respective SQL driver for available options)

<i><sup><b>*</b></sup> for Microsoft SQL Server, /dbname can be /instance/dbname, where /instance is optional. For Oracle Database, /dbname is of the form /service/dbname where /service is the service name or SID, and /dbname is optional. Please see below for examples.</i>

Quickstart

Database connection URLs in the above format can be parsed to a standard connection string with the [Parse] as such:

string connectionUrl = "mssql://{server}/{database_name}";
string connectionString = new ConnectionUrl(connectionUrl).Parse();

Additionally, a simple helper, [Open], is provided that will parse, open, and return a standard DbConnection.

string connectionUrl = "mssql://{server}/{database_name}";
IDbConnection connection = new ConnectionUrl(connectionUrl).Open();

If you don't want to open the connection but only return it and manage its state by yourself, use the function [Connect]

string connectionUrl = "mssql://{server}/{database_name}";
IDbConnection connection = new ConnectionUrl(connectionUrl).Connect();

Example URLs

The following are example database connection URLs that can be handled by [Parse], [Connect] and [Open]:

mssql://user:pass@remote-host.com/instance/dbname?keepAlive=10
oledb+mssql://user:pass@localhost/dbname

postgres://user:pass@localhost/dbname
odbc+postgres://user:pass@localhost:port/dbname?option1=

mysql://user:pass@localhost/dbname
oracle://user:pass@somehost.com/sid
db2://user:pass@localhost/dbname

Protocol Schemes and Aliases

ADO.Net data providers

The following databases and their associated schemes are supported out of the box:

Database Aliases Provider Invariant Name
Microsoft SQL Server mssql, ms, sqlserver System.Data.SqlClient
MySQL mysql, my MySqlConnector
PostgreSQL pg, pgsql, postgres, postgresql Npgsql
Oracle Database oracle, or, ora Oracle.ManagedDataAccess
SQLite3 sq, sqlite Microsoft.Data.Sqlite
IBM DB2 db2 IBM.Data.Db2
MariaDB maria, mariadb MySqlConnector
Snowflake sf, snowflake Snowflake.Data
Teradata td, teradata, tera Teradata.Client
CockRoachDB cr, cockroach, crdb, cdb Npgsql
Firebird SQL fb, firebird FirebirdSql.Data.FirebirdClient
Timescale ts, timescale Npgsql

Installing

Install in the usual .NET fashion:

Install-Package DubUrl

Using

Check the first steps guide on the website.

Please note that DubUrl does not install actual drivers, and only provides a standard way to [Parse] respective database connection URLs then [Connect] or [Open] connections.

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)
Included target framework(s) (in package)
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
0.4.14 277 11/16/2023 0.4.14 is deprecated because it is no longer maintained.
0.4.6 123 11/16/2023
0.4.5 117 11/13/2023
0.4.4 129 11/13/2023
0.4.3 118 11/12/2023
0.4.2 122 11/12/2023
0.4.1 122 11/7/2023
0.4.0 113 11/6/2023
0.3.3 117 11/6/2023
0.3.2 103 11/6/2023
0.3.1 117 11/6/2023
0.3.0 136 10/30/2023
0.2.13 122 10/30/2023
0.2.12 125 10/30/2023
0.2.11 120 10/30/2023
0.2.10 126 10/23/2023
0.2.9 129 10/23/2023
0.2.8 134 10/16/2023
0.2.7 140 10/16/2023
0.2.6 152 10/9/2023
0.2.5 126 10/9/2023
0.2.4 139 10/9/2023
0.2.3 141 10/2/2023
0.2.0 183 9/30/2023
0.1.233 187 9/21/2023
0.1.231 154 9/19/2023
0.1.230 127 9/18/2023
0.1.228 121 9/18/2023
0.1.227 162 9/15/2023
0.1.226 135 9/14/2023
0.1.225 141 9/12/2023
0.1.224 151 9/10/2023
0.1.223 141 9/10/2023
0.1.222 141 9/9/2023
0.1.219 148 9/8/2023
0.1.218 145 9/7/2023
0.1.217 147 9/6/2023
0.1.216 169 8/28/2023
0.1.215 156 8/28/2023
0.1.214 150 8/23/2023
0.1.213 143 8/23/2023
0.1.212 144 8/15/2023
0.1.211 125 8/14/2023
0.1.210 131 8/12/2023
0.1.209 187 8/8/2023
0.1.208 159 8/1/2023
0.1.207 162 7/31/2023
0.1.206 141 7/31/2023
0.1.205 144 7/31/2023
0.1.204 151 7/30/2023
0.1.203 148 7/30/2023
0.1.202 140 7/30/2023
0.1.201 151 7/29/2023
0.1.200 147 7/11/2023
0.1.199 139 7/3/2023
0.1.198 136 7/1/2023
0.1.197 136 6/30/2023
0.1.196 213 6/29/2023
0.1.195 137 6/26/2023
0.1.194 190 6/23/2023
0.1.193 137 6/23/2023
0.1.192 130 6/21/2023
0.1.191 140 6/19/2023
0.1.190 135 6/18/2023
0.1.188 139 6/18/2023
0.1.187 137 6/17/2023
0.1.186 147 6/16/2023
0.1.184 160 6/11/2023
0.1.183 139 6/8/2023
0.1.182 138 5/31/2023
0.1.180 137 5/30/2023
0.1.179 134 5/30/2023
0.1.178 139 5/29/2023
0.1.177 139 5/28/2023
0.1.176 137 5/27/2023
0.1.175 135 5/23/2023
0.1.174 138 5/22/2023
0.1.173 142 5/21/2023
0.1.172 144 5/20/2023
0.1.171 140 5/20/2023
0.1.170 135 5/15/2023
0.1.169 148 5/14/2023
0.1.168 144 5/13/2023
0.1.167 145 5/11/2023
0.1.166 140 5/11/2023
0.1.165 145 5/3/2023
0.1.164 174 4/27/2023
0.1.163 162 4/22/2023
0.1.162 163 4/18/2023
0.1.161 176 4/17/2023
0.1.160 190 4/17/2023
0.1.159 171 4/17/2023
0.1.158 177 4/17/2023
0.1.157 156 4/13/2023
0.1.156 183 4/10/2023
0.1.155 195 4/10/2023
0.1.154 184 4/10/2023
0.1.153 186 4/10/2023
0.1.152 197 4/4/2023
0.1.151 189 4/3/2023
0.1.150 205 3/28/2023
0.1.149 214 3/20/2023
0.1.148 213 3/14/2023
0.1.147 216 3/6/2023
0.1.146 223 3/5/2023
0.1.145 219 3/5/2023
0.1.144 284 3/1/2023
0.1.143 272 1/31/2023
0.1.142 277 1/31/2023
0.1.141 274 1/25/2023
0.1.140 274 1/23/2023
0.1.139 286 1/20/2023
0.1.138 299 1/3/2023
0.1.136 286 1/3/2023
0.1.133 298 12/26/2022
0.1.132 290 12/20/2022
0.1.131 292 12/20/2022
0.1.130 304 12/14/2022
0.1.129 316 11/28/2022
0.1.128 316 11/20/2022
0.1.127 316 11/20/2022
0.1.126 322 11/20/2022
0.1.125 331 11/19/2022
0.1.124 330 11/19/2022
0.1.123 341 11/19/2022
0.1.122 318 11/19/2022
0.1.121 317 11/19/2022
0.1.120 323 11/17/2022
0.1.119 330 11/17/2022
0.1.118 322 11/17/2022
0.1.115 322 11/9/2022
0.1.114 346 11/7/2022
0.1.113 348 11/2/2022
0.1.112 346 11/2/2022
0.1.111 344 11/2/2022
0.1.110 333 11/1/2022
0.1.109 344 11/1/2022
0.1.108 358 10/28/2022
0.1.107 371 10/28/2022
0.1.106 356 10/28/2022
0.1.103 397 10/22/2022
0.1.101 393 10/17/2022
0.1.100 424 10/17/2022
0.1.99 389 10/17/2022
0.1.98 384 10/17/2022
0.1.97 396 10/13/2022
0.1.96 382 10/3/2022
0.1.94 409 9/26/2022
0.1.93 402 9/26/2022
0.1.92 404 9/26/2022
0.1.91 428 9/24/2022
0.1.90 425 9/24/2022
0.1.89 427 9/24/2022
0.1.88 399 9/21/2022
0.1.87 399 9/20/2022
0.1.86 403 9/20/2022
0.1.84 430 9/15/2022
0.1.83 424 9/15/2022
0.1.82 393 9/11/2022
0.1.81 449 9/10/2022
0.1.80 420 9/10/2022
0.1.79 415 9/10/2022
0.1.78 442 9/10/2022