DubUrl.Extensions.DependencyInjection 0.1.97

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

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

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 GitHub Release Date 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 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 243 11/16/2023
0.4.6 100 11/16/2023
0.4.5 98 11/13/2023
0.4.4 90 11/13/2023
0.4.3 99 11/12/2023
0.4.2 98 11/12/2023
0.4.1 100 11/7/2023
0.4.0 94 11/6/2023
0.3.3 93 11/6/2023
0.3.2 82 11/6/2023
0.3.1 94 11/6/2023
0.3.0 110 10/30/2023
0.2.13 96 10/30/2023
0.2.12 102 10/30/2023
0.2.11 99 10/30/2023
0.2.10 104 10/23/2023
0.2.9 109 10/23/2023
0.2.8 116 10/16/2023
0.2.7 117 10/16/2023
0.2.6 130 10/9/2023
0.2.5 104 10/9/2023
0.2.4 119 10/9/2023
0.2.3 118 10/2/2023
0.2.0 164 9/30/2023
0.1.233 165 9/21/2023
0.1.231 130 9/19/2023
0.1.230 105 9/18/2023
0.1.228 101 9/18/2023
0.1.227 140 9/15/2023
0.1.226 115 9/14/2023
0.1.225 121 9/12/2023
0.1.224 133 9/10/2023
0.1.223 119 9/10/2023
0.1.222 120 9/9/2023
0.1.219 122 9/8/2023
0.1.218 125 9/7/2023
0.1.217 124 9/6/2023
0.1.216 149 8/28/2023
0.1.215 137 8/28/2023
0.1.214 127 8/23/2023
0.1.213 124 8/23/2023
0.1.212 129 8/15/2023
0.1.211 110 8/14/2023
0.1.210 114 8/12/2023
0.1.209 123 8/8/2023
0.1.208 150 8/1/2023
0.1.207 139 7/31/2023
0.1.206 119 7/31/2023
0.1.205 124 7/31/2023
0.1.204 132 7/30/2023
0.1.203 128 7/30/2023
0.1.202 121 7/30/2023
0.1.201 130 7/29/2023
0.1.200 130 7/11/2023
0.1.199 121 7/3/2023
0.1.198 118 7/1/2023
0.1.197 116 6/30/2023
0.1.196 188 6/29/2023
0.1.195 117 6/26/2023
0.1.194 167 6/23/2023
0.1.193 114 6/23/2023
0.1.192 110 6/21/2023
0.1.191 120 6/19/2023
0.1.190 115 6/18/2023
0.1.188 121 6/18/2023
0.1.187 123 6/17/2023
0.1.186 124 6/16/2023
0.1.184 141 6/11/2023
0.1.183 117 6/8/2023
0.1.182 117 5/31/2023
0.1.180 121 5/30/2023
0.1.179 116 5/30/2023
0.1.178 117 5/29/2023
0.1.177 121 5/28/2023
0.1.176 122 5/27/2023
0.1.175 119 5/23/2023
0.1.174 122 5/22/2023
0.1.173 124 5/21/2023
0.1.172 128 5/20/2023
0.1.171 123 5/20/2023
0.1.170 119 5/15/2023
0.1.169 130 5/14/2023
0.1.168 128 5/13/2023
0.1.167 127 5/11/2023
0.1.166 123 5/11/2023
0.1.165 127 5/3/2023
0.1.164 155 4/27/2023
0.1.163 145 4/22/2023
0.1.162 147 4/18/2023
0.1.161 158 4/17/2023
0.1.160 169 4/17/2023
0.1.159 153 4/17/2023
0.1.158 159 4/17/2023
0.1.157 149 4/13/2023
0.1.156 163 4/10/2023
0.1.155 164 4/10/2023
0.1.154 163 4/10/2023
0.1.153 166 4/10/2023
0.1.152 174 4/4/2023
0.1.151 173 4/3/2023
0.1.150 186 3/28/2023
0.1.149 198 3/20/2023
0.1.148 196 3/14/2023
0.1.147 198 3/6/2023
0.1.146 208 3/5/2023
0.1.145 202 3/5/2023
0.1.144 220 3/1/2023
0.1.143 250 1/31/2023
0.1.142 249 1/31/2023
0.1.141 255 1/25/2023
0.1.140 251 1/23/2023
0.1.139 263 1/20/2023
0.1.138 277 1/3/2023
0.1.136 267 1/3/2023
0.1.133 278 12/26/2022
0.1.132 272 12/20/2022
0.1.131 269 12/20/2022
0.1.130 280 12/14/2022
0.1.129 293 11/28/2022
0.1.128 296 11/20/2022
0.1.127 297 11/20/2022
0.1.126 307 11/20/2022
0.1.125 310 11/19/2022
0.1.124 312 11/19/2022
0.1.123 321 11/19/2022
0.1.122 298 11/19/2022
0.1.121 299 11/19/2022
0.1.120 305 11/17/2022
0.1.119 304 11/17/2022
0.1.118 304 11/17/2022
0.1.115 303 11/9/2022
0.1.114 327 11/7/2022
0.1.113 333 11/2/2022
0.1.112 326 11/2/2022
0.1.111 323 11/2/2022
0.1.110 314 11/1/2022
0.1.109 329 11/1/2022
0.1.108 337 10/28/2022
0.1.107 348 10/28/2022
0.1.106 337 10/28/2022
0.1.103 378 10/22/2022
0.1.101 366 10/17/2022
0.1.100 368 10/17/2022
0.1.99 368 10/17/2022
0.1.98 362 10/17/2022
0.1.97 377 10/13/2022
0.1.96 357 10/3/2022
0.1.94 381 9/26/2022
0.1.93 381 9/26/2022
0.1.92 380 9/26/2022
0.1.91 408 9/24/2022
0.1.90 403 9/24/2022
0.1.89 407 9/24/2022
0.1.88 377 9/21/2022
0.1.87 377 9/20/2022
0.1.86 384 9/20/2022
0.1.84 409 9/15/2022
0.1.83 400 9/15/2022
0.1.82 386 9/11/2022
0.1.81 396 9/10/2022
0.1.80 400 9/10/2022
0.1.79 393 9/10/2022
0.1.78 422 9/10/2022