DubUrl.Extensions.DependencyInjection 0.1.203

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

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

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 260 11/16/2023 0.4.14 is deprecated because it is no longer maintained.
0.4.6 107 11/16/2023
0.4.5 106 11/13/2023
0.4.4 102 11/13/2023
0.4.3 107 11/12/2023
0.4.2 105 11/12/2023
0.4.1 107 11/7/2023
0.4.0 101 11/6/2023
0.3.3 103 11/6/2023
0.3.2 89 11/6/2023
0.3.1 102 11/6/2023
0.3.0 120 10/30/2023
0.2.13 105 10/30/2023
0.2.12 109 10/30/2023
0.2.11 107 10/30/2023
0.2.10 112 10/23/2023
0.2.9 117 10/23/2023
0.2.8 123 10/16/2023
0.2.7 126 10/16/2023
0.2.6 138 10/9/2023
0.2.5 113 10/9/2023
0.2.4 126 10/9/2023
0.2.3 126 10/2/2023
0.2.0 173 9/30/2023
0.1.233 175 9/21/2023
0.1.231 141 9/19/2023
0.1.230 111 9/18/2023
0.1.228 107 9/18/2023
0.1.227 148 9/15/2023
0.1.226 122 9/14/2023
0.1.225 127 9/12/2023
0.1.224 139 9/10/2023
0.1.223 127 9/10/2023
0.1.222 128 9/9/2023
0.1.219 130 9/8/2023
0.1.218 131 9/7/2023
0.1.217 132 9/6/2023
0.1.216 155 8/28/2023
0.1.215 142 8/28/2023
0.1.214 133 8/23/2023
0.1.213 130 8/23/2023
0.1.212 131 8/15/2023
0.1.211 115 8/14/2023
0.1.210 120 8/12/2023
0.1.209 134 8/8/2023
0.1.208 159 8/1/2023
0.1.207 150 7/31/2023
0.1.206 126 7/31/2023
0.1.205 131 7/31/2023
0.1.204 139 7/30/2023
0.1.203 134 7/30/2023
0.1.202 126 7/30/2023
0.1.201 135 7/29/2023
0.1.200 135 7/11/2023
0.1.199 126 7/3/2023
0.1.198 123 7/1/2023
0.1.197 123 6/30/2023
0.1.196 199 6/29/2023
0.1.195 122 6/26/2023
0.1.194 177 6/23/2023
0.1.193 120 6/23/2023
0.1.192 115 6/21/2023
0.1.191 125 6/19/2023
0.1.190 120 6/18/2023
0.1.188 126 6/18/2023
0.1.187 128 6/17/2023
0.1.186 130 6/16/2023
0.1.184 146 6/11/2023
0.1.183 122 6/8/2023
0.1.182 123 5/31/2023
0.1.180 125 5/30/2023
0.1.179 121 5/30/2023
0.1.178 124 5/29/2023
0.1.177 125 5/28/2023
0.1.176 124 5/27/2023
0.1.175 123 5/23/2023
0.1.174 124 5/22/2023
0.1.173 128 5/21/2023
0.1.172 132 5/20/2023
0.1.171 127 5/20/2023
0.1.170 121 5/15/2023
0.1.169 134 5/14/2023
0.1.168 132 5/13/2023
0.1.167 132 5/11/2023
0.1.166 127 5/11/2023
0.1.165 131 5/3/2023
0.1.164 162 4/27/2023
0.1.163 151 4/22/2023
0.1.162 151 4/18/2023
0.1.161 162 4/17/2023
0.1.160 175 4/17/2023
0.1.159 157 4/17/2023
0.1.158 163 4/17/2023
0.1.157 155 4/13/2023
0.1.156 169 4/10/2023
0.1.155 172 4/10/2023
0.1.154 170 4/10/2023
0.1.153 172 4/10/2023
0.1.152 182 4/4/2023
0.1.151 179 4/3/2023
0.1.150 192 3/28/2023
0.1.149 201 3/20/2023
0.1.148 199 3/14/2023
0.1.147 201 3/6/2023
0.1.146 211 3/5/2023
0.1.145 205 3/5/2023
0.1.144 224 3/1/2023
0.1.143 260 1/31/2023
0.1.142 258 1/31/2023
0.1.141 261 1/25/2023
0.1.140 257 1/23/2023
0.1.139 269 1/20/2023
0.1.138 283 1/3/2023
0.1.136 274 1/3/2023
0.1.133 284 12/26/2022
0.1.132 278 12/20/2022
0.1.131 276 12/20/2022
0.1.130 289 12/14/2022
0.1.129 302 11/28/2022
0.1.128 301 11/20/2022
0.1.127 302 11/20/2022
0.1.126 312 11/20/2022
0.1.125 317 11/19/2022
0.1.124 317 11/19/2022
0.1.123 327 11/19/2022
0.1.122 303 11/19/2022
0.1.121 304 11/19/2022
0.1.120 310 11/17/2022
0.1.119 313 11/17/2022
0.1.118 309 11/17/2022
0.1.115 308 11/9/2022
0.1.114 332 11/7/2022
0.1.113 338 11/2/2022
0.1.112 331 11/2/2022
0.1.111 329 11/2/2022
0.1.110 319 11/1/2022
0.1.109 334 11/1/2022
0.1.108 346 10/28/2022
0.1.107 358 10/28/2022
0.1.106 344 10/28/2022
0.1.103 388 10/22/2022
0.1.101 375 10/17/2022
0.1.100 375 10/17/2022
0.1.99 377 10/17/2022
0.1.98 369 10/17/2022
0.1.97 385 10/13/2022
0.1.96 364 10/3/2022
0.1.94 393 9/26/2022
0.1.93 388 9/26/2022
0.1.92 390 9/26/2022
0.1.91 414 9/24/2022
0.1.90 411 9/24/2022
0.1.89 413 9/24/2022
0.1.88 384 9/21/2022
0.1.87 386 9/20/2022
0.1.86 390 9/20/2022
0.1.84 416 9/15/2022
0.1.83 409 9/15/2022
0.1.82 392 9/11/2022
0.1.81 402 9/10/2022
0.1.80 405 9/10/2022
0.1.79 399 9/10/2022
0.1.78 428 9/10/2022