DubUrl.Extensions.DependencyInjection 0.1.198

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.198                
NuGet\Install-Package DubUrl.Extensions.DependencyInjection -Version 0.1.198                
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.198" />                
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.198                
#r "nuget: DubUrl.Extensions.DependencyInjection, 0.1.198"                
#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.198

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

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, 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: website twitter badge

Releases: nuget licence badge

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

Continuous integration builds: Build status Tests CodeFactor

Status: stars badge Bugs badge Top language

Mappers for ADO.Net Provider implemented badge Mappers for ODBC drivers implemented badge Mappers for OLE DB providers implemented badge

Upcoming features badge Upcoming databases badge Upcoming ADO.Net badge Upcoming ODBC badge

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 Microsoft.Data.SqlClient
MySQL mysql, my MySqlConnector
PostgreSQL pg, pgsql, postgres, postgresql Npgsql
IBM DB2 db2 IBM.Data.Db2
MariaDB maria, mariadb MySqlConnector
Oracle Database oracle, or, ora Oracle.ManagedDataAccess
DuckDB duck, duckdb DuckDB.NET.Data
Firebird SQL fb, firebird FirebirdSql.Data.FirebirdClient
SQLite3 sq, sqlite Microsoft.Data.Sqlite
CockRoachDB cr, cockroach, cockroachdb, crdb, cdb Npgsql
Snowflake sf, snowflake Snowflake.Data
Teradata td, teradata, tera Teradata.Client
Trino tr, trino NReco.PrestoAdo
QuestDb quest, questdb Npgsql
Timescale ts, timescale Npgsql

ODBC driver locators

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

Database Aliases Name Pattern
Microsoft SQL Server mssql, ms, sqlserver ^\bODBC Driver\s([0-9]{1,2}(?:.[0-9]{1,2}){0,2})\s\bfor SQL Server$
MySQL mysql, my ^\bMySQL ODBC\s([0-9]{1,2}(?:.[0-9]{1,2}){0,2})\s(ANSI|Unicode)\s\bDriver$
PostgreSQL pg, pgsql, postgres, postgresql ^\bPostgreSQL\s(ANSI|Unicode)((x64))?$
MariaDB maria, mariadb ^\bMariaDB ODBC\s([0-9]{1,2}(?:.[0-9]{1,2}){0,2})\s\bDriver$
DuckDB duck, duckdb ^\bDuckDB\s\bDriver$
Apache Drill drill ^\bMapR Drill ODBC Driver$
Trino tr, trino ^(Simba)\s\bTrino ODBC Driver$
Microsoft Excel xls, xlsx, xlsb, xlsm ^\bMicrosoft Excel Driver\s(*.xls, *.xlsx, *.xlsm, *.xlsb)$
Text files txt, csv, tsv ^\bMicrosoft Access Text Driver\s(*.txt, *.csv)$
QuestDb quest, questdb ^\bPostgreSQL\s(ANSI|Unicode)((x64))?$
Timescale ts, timescale ^\bPostgreSQL\s(ANSI|Unicode)((x64))?$

OLEDB provider locators

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

Database Aliases Name Pattern
Microsoft SQL Server mssql, ms, sqlserver ^\bMSOLEDBSQL$
MySQL mysql, my ^\bMySQL Provider$
Microsoft Excel xls ^\bMicrosoft.ACE.OLEDB.([0-9]{1,2}(?:.[0-9]{1,2}){0,2})$
Microsoft Excel xlsx ^\bMicrosoft.ACE.OLEDB.([0-9]{1,2}(?:.[0-9]{1,2}){0,2})$
Microsoft Excel xlsm ^\bMicrosoft.ACE.OLEDB.([0-9]{1,2}(?:.[0-9]{1,2}){0,2})$
Microsoft Excel xlsb ^\bMicrosoft.ACE.OLEDB.([0-9]{1,2}(?:.[0-9]{1,2}){0,2})$

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 is compatible.  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 286 11/16/2023 0.4.14 is deprecated because it is no longer maintained.
0.4.6 127 11/16/2023
0.4.5 121 11/13/2023
0.4.4 133 11/13/2023
0.4.3 124 11/12/2023
0.4.2 128 11/12/2023
0.4.1 127 11/7/2023
0.4.0 121 11/6/2023
0.3.3 121 11/6/2023
0.3.2 110 11/6/2023
0.3.1 123 11/6/2023
0.3.0 141 10/30/2023
0.2.13 127 10/30/2023
0.2.12 129 10/30/2023
0.2.11 125 10/30/2023
0.2.10 130 10/23/2023
0.2.9 135 10/23/2023
0.2.8 140 10/16/2023
0.2.7 144 10/16/2023
0.2.6 156 10/9/2023
0.2.5 131 10/9/2023
0.2.4 146 10/9/2023
0.2.3 146 10/2/2023
0.2.0 189 9/30/2023
0.1.233 193 9/21/2023
0.1.231 163 9/19/2023
0.1.230 133 9/18/2023
0.1.228 125 9/18/2023
0.1.227 168 9/15/2023
0.1.226 140 9/14/2023
0.1.225 148 9/12/2023
0.1.224 158 9/10/2023
0.1.223 148 9/10/2023
0.1.222 147 9/9/2023
0.1.219 153 9/8/2023
0.1.218 151 9/7/2023
0.1.217 152 9/6/2023
0.1.216 173 8/28/2023
0.1.215 160 8/28/2023
0.1.214 154 8/23/2023
0.1.213 147 8/23/2023
0.1.212 150 8/15/2023
0.1.211 129 8/14/2023
0.1.210 136 8/12/2023
0.1.209 191 8/8/2023
0.1.208 164 8/1/2023
0.1.207 168 7/31/2023
0.1.206 145 7/31/2023
0.1.205 148 7/31/2023
0.1.204 155 7/30/2023
0.1.203 152 7/30/2023
0.1.202 144 7/30/2023
0.1.201 155 7/29/2023
0.1.200 151 7/11/2023
0.1.199 143 7/3/2023
0.1.198 140 7/1/2023
0.1.197 140 6/30/2023
0.1.196 217 6/29/2023
0.1.195 141 6/26/2023
0.1.194 194 6/23/2023
0.1.193 141 6/23/2023
0.1.192 134 6/21/2023
0.1.191 144 6/19/2023
0.1.190 139 6/18/2023
0.1.188 143 6/18/2023
0.1.187 142 6/17/2023
0.1.186 151 6/16/2023
0.1.184 164 6/11/2023
0.1.183 143 6/8/2023
0.1.182 142 5/31/2023
0.1.180 141 5/30/2023
0.1.179 138 5/30/2023
0.1.178 143 5/29/2023
0.1.177 143 5/28/2023
0.1.176 141 5/27/2023
0.1.175 139 5/23/2023
0.1.174 143 5/22/2023
0.1.173 146 5/21/2023
0.1.172 148 5/20/2023
0.1.171 144 5/20/2023
0.1.170 139 5/15/2023
0.1.169 152 5/14/2023
0.1.168 148 5/13/2023
0.1.167 149 5/11/2023
0.1.166 144 5/11/2023
0.1.165 149 5/3/2023
0.1.164 178 4/27/2023
0.1.163 166 4/22/2023
0.1.162 167 4/18/2023
0.1.161 180 4/17/2023
0.1.160 194 4/17/2023
0.1.159 176 4/17/2023
0.1.158 181 4/17/2023
0.1.157 160 4/13/2023
0.1.156 187 4/10/2023
0.1.155 199 4/10/2023
0.1.154 188 4/10/2023
0.1.153 190 4/10/2023
0.1.152 201 4/4/2023
0.1.151 193 4/3/2023
0.1.150 209 3/28/2023
0.1.149 218 3/20/2023
0.1.148 217 3/14/2023
0.1.147 220 3/6/2023
0.1.146 228 3/5/2023
0.1.145 223 3/5/2023
0.1.144 288 3/1/2023
0.1.143 276 1/31/2023
0.1.142 281 1/31/2023
0.1.141 279 1/25/2023
0.1.140 278 1/23/2023
0.1.139 290 1/20/2023
0.1.138 303 1/3/2023
0.1.136 290 1/3/2023
0.1.133 304 12/26/2022
0.1.132 294 12/20/2022
0.1.131 298 12/20/2022
0.1.130 308 12/14/2022
0.1.129 320 11/28/2022
0.1.128 321 11/20/2022
0.1.127 322 11/20/2022
0.1.126 328 11/20/2022
0.1.125 336 11/19/2022
0.1.124 334 11/19/2022
0.1.123 347 11/19/2022
0.1.122 324 11/19/2022
0.1.121 323 11/19/2022
0.1.120 329 11/17/2022
0.1.119 334 11/17/2022
0.1.118 328 11/17/2022
0.1.115 328 11/9/2022
0.1.114 350 11/7/2022
0.1.113 354 11/2/2022
0.1.112 352 11/2/2022
0.1.111 348 11/2/2022
0.1.110 340 11/1/2022
0.1.109 350 11/1/2022
0.1.108 363 10/28/2022
0.1.107 377 10/28/2022
0.1.106 362 10/28/2022
0.1.103 401 10/22/2022
0.1.101 397 10/17/2022
0.1.100 430 10/17/2022
0.1.99 393 10/17/2022
0.1.98 388 10/17/2022
0.1.97 402 10/13/2022
0.1.96 386 10/3/2022
0.1.94 413 9/26/2022
0.1.93 406 9/26/2022
0.1.92 410 9/26/2022
0.1.91 432 9/24/2022
0.1.90 429 9/24/2022
0.1.89 431 9/24/2022
0.1.88 403 9/21/2022
0.1.87 405 9/20/2022
0.1.86 409 9/20/2022
0.1.84 436 9/15/2022
0.1.83 428 9/15/2022
0.1.82 397 9/11/2022
0.1.81 453 9/10/2022
0.1.80 424 9/10/2022
0.1.79 419 9/10/2022
0.1.78 446 9/10/2022