DubUrl 0.20.8

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

// Install DubUrl as a Cake Tool
#tool nuget:?package=DubUrl&version=0.20.8                

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 codecov FOSSA Status

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 Mappers for ADOMD.NET 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, mssqlserver Microsoft.Data.SqlClient
MySQL mysql, my MySqlConnector
PostgreSQL pg, pgx, pgsql, postgres, postgresql Npgsql
Oracle Database oracle, or, ora Oracle.ManagedDataAccess
IBM DB2 db2 IBM.Data.Db2
MariaDB maria, mariadb MySqlConnector
DuckDB duck, duckdb DuckDB.NET.Data
Firebird SQL fb, firebird FirebirdSql.Data.FirebirdClient
SQLite3 sq, sqlite Microsoft.Data.Sqlite
Teradata td, teradata, tera Teradata.Client
Snowflake sf, snowflake Snowflake.Data
CockRoachDB cr, cockroach, cockroachdb, crdb, cdb Npgsql
CrateDB crt, crate, cratedb Npgsql
SingleStore sg, sgs, singlestore, single SingleStoreConnector
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, mssqlserver ^\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, pgx, 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 Access accdb, access, msaccess, mdb ^\bMicrosoft Access Driver\s(*.mdb, *.accdb)$
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))?$

Extension for OLEDB provider locators

The following databases and their associated schemes are supported through the OLE DB data provider extension:

Database Aliases Name Pattern
Microsoft SQL Server mssql, ms, sqlserver, mssqlserver ^\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})$
Microsoft Access accdb, access, msaccess, mdb ^\bMicrosoft.ACE.OLEDB.([0-9]{1,2}(?:.[0-9]{1,2}){0,2})$

Extension for ADOMD.NET data provider

The following databases and their associated schemes are supported through the ADOMD.NET data provider extension:

Database Aliases Provider Invariant Name
Azure Analysis Services asazure, asa Microsoft.AnalysisServices.AdomdClient
Power BI Desktop pbidesktop, pbix, powerbidesktop Microsoft.AnalysisServices.AdomdClient
Power BI Premium powerbi, pbi, pbiazure, pbipremium, powerbipremium Microsoft.AnalysisServices.AdomdClient
SQL Server Analysis Services - Multidimensional ssasmultidim, ssasmdx Microsoft.AnalysisServices.AdomdClient
SQL Server Analysis Services - Tabular ssastabular, ssasdax Microsoft.AnalysisServices.AdomdClient

Installing

Install in the usual .NET fashion:

Install-Package DubUrl

To install the extension for OLEDB provider locators

Install-Package DubUrl.OleDb

To install the extension for ADOMD.NET data provider

Install-Package DubUrl.Adomd

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 net8.0 is compatible.  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.  net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on DubUrl:

Package Downloads
DubUrl.OleDb

DubUrl provides a standardized URL-style mechanism for providing database connection information and opening a DbConnection in the .NET ecosystem

DubUrl.Extensions.DependencyInjection

DubUrl provides a standardized URL-style mechanism for providing database connection information and opening a DbConnection in the .NET ecosystem

DubUrl.Adomd

DubUrl provides a standardized URL-style mechanism for providing database connection information and opening a DbConnection in the .NET ecosystem

DubUrl.Extensions

DubUrl provides a standardized URL-style mechanism for providing database connection information and opening a DbConnection in the .NET ecosystem

Tseesecake

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.20.8 94 12/16/2024
0.20.7 103 12/14/2024
0.20.6 99 12/11/2024
0.20.5 91 12/9/2024
0.20.4 101 12/3/2024
0.20.3 92 12/2/2024
0.20.2 92 12/2/2024
0.20.1 94 12/1/2024
0.20.0 98 12/1/2024
0.19.0 121 11/25/2024
0.18.91 130 11/24/2024
0.18.90 140 11/24/2024
0.18.86 122 11/18/2024
0.18.85 126 11/18/2024
0.18.84 126 11/16/2024
0.18.82 126 11/14/2024
0.18.81 127 11/8/2024
0.18.80 130 11/6/2024
0.18.78 129 10/24/2024
0.18.76 168 10/18/2024
0.18.75 165 10/18/2024
0.18.74 117 10/16/2024
0.18.73 129 10/14/2024
0.18.72 126 10/14/2024
0.18.71 139 10/14/2024
0.18.70 140 10/11/2024
0.18.68 150 9/30/2024
0.18.67 176 9/16/2024
0.18.66 156 9/15/2024
0.18.65 152 9/15/2024
0.18.64 173 9/14/2024
0.18.62 168 9/9/2024
0.18.61 166 9/9/2024
0.18.60 161 9/2/2024
0.18.59 159 9/2/2024
0.18.58 152 9/3/2024
0.18.57 166 8/26/2024
0.18.56 192 8/21/2024
0.18.55 181 8/18/2024
0.18.54 173 8/15/2024
0.18.53 171 8/11/2024
0.18.51 113 7/29/2024
0.18.50 150 7/17/2024
0.18.49 143 7/17/2024
0.18.47 150 7/17/2024
0.18.45 165 7/14/2024
0.18.44 155 7/7/2024
0.18.43 160 7/7/2024
0.18.42 145 7/6/2024
0.18.41 156 7/6/2024
0.18.39 152 7/6/2024
0.18.38 174 7/6/2024
0.18.37 152 6/25/2024
0.18.36 167 6/23/2024
0.18.33 171 5/20/2024
0.18.32 161 5/20/2024
0.18.31 165 5/19/2024
0.18.30 180 5/15/2024
0.18.29 175 5/15/2024
0.18.28 180 5/15/2024
0.18.27 160 5/14/2024
0.18.24 152 5/14/2024
0.18.22 190 4/15/2024
0.18.20 176 4/15/2024
0.18.19 177 4/1/2024
0.18.18 247 3/25/2024
0.18.17 238 3/23/2024
0.18.16 238 3/23/2024
0.18.15 224 3/23/2024
0.18.14 222 3/23/2024
0.18.13 220 3/23/2024
0.18.12 261 3/11/2024
0.18.11 276 3/10/2024
0.18.10 280 3/10/2024
0.18.9 289 2/28/2024
0.18.8 301 2/17/2024
0.18.6 314 2/17/2024
0.18.5 290 2/17/2024
0.18.4 306 2/17/2024
0.18.3 300 2/17/2024
0.18.2 317 2/17/2024
0.18.0 339 2/11/2024
0.17.6 346 2/9/2024
0.17.5 333 2/9/2024
0.17.4 344 2/7/2024
0.17.3 339 2/7/2024
0.17.2 337 2/7/2024
0.17.1 321 1/30/2024
0.17.0 302 1/28/2024
0.16.0 330 1/27/2024
0.15.0 316 1/27/2024
0.14.0 327 1/27/2024
0.13.1 354 1/27/2024
0.13.0 346 1/22/2024
0.12.1 354 1/22/2024
0.12.0 331 1/22/2024
0.11.0 347 1/20/2024
0.10.0 348 1/20/2024
0.9.11 326 1/20/2024
0.9.10 315 1/20/2024
0.9.9 337 1/19/2024
0.9.8 334 1/19/2024
0.9.7 348 1/19/2024
0.9.6 318 1/19/2024
0.9.5 328 1/18/2024
0.9.2 434 1/8/2024
0.9.1 378 1/5/2024
0.9.0 389 12/30/2023
0.8.7 395 12/30/2023
0.8.6 420 12/25/2023
0.8.5 396 12/21/2023
0.8.4 395 12/21/2023
0.8.3 445 12/11/2023
0.8.2 433 12/11/2023
0.8.1 437 12/11/2023
0.8.0 432 12/9/2023
0.7.3 419 12/6/2023
0.7.2 465 12/5/2023
0.7.1 461 11/28/2023
0.7.0 428 11/27/2023
0.6.0 444 11/26/2023
0.5.11 453 11/25/2023
0.5.9 436 11/25/2023
0.5.8 439 11/25/2023
0.5.6 449 11/25/2023
0.5.5 425 11/25/2023
0.5.1 434 11/25/2023
0.5.0 465 11/18/2023
0.4.14 413 11/16/2023
0.4.6 436 11/16/2023
0.4.5 455 11/13/2023
0.4.4 413 11/13/2023
0.4.3 450 11/12/2023
0.4.2 417 11/12/2023
0.4.1 439 11/7/2023
0.4.0 414 11/6/2023
0.3.3 443 11/6/2023
0.3.2 438 11/6/2023
0.3.1 447 11/6/2023
0.3.0 474 10/30/2023
0.2.13 453 10/30/2023
0.2.12 427 10/30/2023
0.2.11 419 10/30/2023
0.2.10 429 10/23/2023
0.2.9 465 10/23/2023
0.2.8 470 10/16/2023
0.2.7 473 10/16/2023
0.2.6 469 10/9/2023
0.2.5 436 10/9/2023
0.2.4 440 10/9/2023
0.2.3 473 10/2/2023
0.2.0 560 9/30/2023
0.1.233 648 9/21/2023
0.1.231 545 9/19/2023
0.1.230 504 9/18/2023
0.1.228 479 9/18/2023
0.1.227 560 9/15/2023
0.1.226 508 9/14/2023
0.1.225 506 9/12/2023
0.1.224 508 9/10/2023
0.1.223 513 9/10/2023
0.1.222 507 9/9/2023
0.1.219 534 9/8/2023
0.1.218 530 9/7/2023
0.1.217 534 9/6/2023
0.1.216 572 8/28/2023
0.1.215 526 8/28/2023
0.1.214 538 8/23/2023
0.1.213 532 8/23/2023
0.1.212 586 8/15/2023
0.1.211 571 8/14/2023
0.1.210 557 8/12/2023
0.1.209 616 8/8/2023
0.1.208 705 8/1/2023
0.1.207 743 7/31/2023
0.1.206 638 7/31/2023
0.1.205 613 7/31/2023
0.1.204 642 7/30/2023
0.1.203 604 7/30/2023
0.1.202 627 7/30/2023
0.1.201 627 7/29/2023
0.1.200 644 7/11/2023
0.1.199 692 7/3/2023
0.1.198 652 7/1/2023
0.1.197 691 6/30/2023
0.1.196 948 6/29/2023
0.1.195 694 6/26/2023
0.1.194 859 6/23/2023
0.1.193 641 6/23/2023
0.1.192 685 6/21/2023
0.1.191 662 6/19/2023
0.1.190 624 6/18/2023
0.1.188 656 6/18/2023
0.1.187 644 6/17/2023
0.1.186 695 6/16/2023
0.1.184 655 6/11/2023
0.1.183 681 6/8/2023
0.1.182 677 5/31/2023
0.1.180 651 5/30/2023
0.1.179 614 5/30/2023
0.1.178 636 5/29/2023
0.1.177 665 5/28/2023
0.1.176 673 5/27/2023
0.1.175 677 5/23/2023
0.1.174 670 5/22/2023
0.1.173 653 5/21/2023
0.1.172 682 5/20/2023
0.1.171 646 5/20/2023
0.1.170 646 5/15/2023
0.1.169 688 5/14/2023
0.1.168 690 5/13/2023
0.1.167 740 5/11/2023
0.1.166 683 5/11/2023
0.1.165 669 5/3/2023
0.1.164 706 4/27/2023
0.1.163 717 4/22/2023
0.1.162 723 4/18/2023
0.1.161 713 4/17/2023
0.1.160 715 4/17/2023
0.1.159 736 4/17/2023
0.1.158 741 4/17/2023
0.1.157 706 4/13/2023
0.1.156 736 4/10/2023
0.1.155 696 4/10/2023
0.1.154 736 4/10/2023
0.1.153 698 4/10/2023
0.1.152 707 4/4/2023
0.1.151 718 4/3/2023
0.1.150 805 3/28/2023
0.1.149 775 3/20/2023
0.1.148 759 3/14/2023
0.1.147 782 3/6/2023
0.1.146 773 3/5/2023
0.1.145 844 3/5/2023
0.1.144 842 3/1/2023
0.1.143 856 1/31/2023
0.1.142 870 1/31/2023
0.1.141 864 1/25/2023
0.1.140 859 1/23/2023
0.1.139 847 1/20/2023
0.1.138 921 1/3/2023
0.1.136 890 1/3/2023
0.1.133 923 12/26/2022
0.1.132 925 12/20/2022
0.1.131 898 12/20/2022
0.1.130 926 12/14/2022
0.1.129 918 11/28/2022
0.1.128 936 11/20/2022
0.1.127 966 11/20/2022
0.1.126 951 11/20/2022
0.1.125 917 11/19/2022
0.1.124 925 11/19/2022
0.1.123 976 11/19/2022
0.1.122 996 11/19/2022
0.1.121 984 11/19/2022
0.1.120 925 11/17/2022
0.1.119 942 11/17/2022
0.1.118 957 11/17/2022
0.1.115 950 11/9/2022
0.1.114 961 11/7/2022
0.1.113 921 11/2/2022
0.1.112 978 11/2/2022
0.1.111 963 11/2/2022
0.1.110 1,020 11/1/2022
0.1.109 1,010 11/1/2022
0.1.108 1,042 10/28/2022
0.1.107 1,050 10/28/2022
0.1.106 1,002 10/28/2022
0.1.103 1,057 10/22/2022
0.1.101 1,092 10/17/2022
0.1.100 1,097 10/17/2022
0.1.99 1,051 10/17/2022
0.1.98 1,029 10/17/2022
0.1.97 1,090 10/13/2022
0.1.96 1,084 10/3/2022
0.1.94 1,099 9/26/2022
0.1.93 1,131 9/26/2022
0.1.92 1,083 9/26/2022
0.1.91 1,091 9/24/2022
0.1.90 1,125 9/24/2022
0.1.89 1,064 9/24/2022
0.1.88 1,049 9/21/2022
0.1.87 1,110 9/20/2022
0.1.86 1,151 9/20/2022
0.1.84 1,105 9/15/2022
0.1.83 1,114 9/15/2022
0.1.82 1,107 9/11/2022
0.1.81 1,131 9/10/2022
0.1.80 1,121 9/10/2022
0.1.79 1,129 9/10/2022
0.1.78 1,117 9/10/2022
0.1.77 1,026 9/7/2022
0.1.76 944 9/7/2022
0.1.75 1,009 8/30/2022
0.1.74 984 8/29/2022
0.1.72 987 8/27/2022
0.1.71 813 8/27/2022
0.1.70 851 8/21/2022
0.1.69 785 8/15/2022
0.1.68 883 8/15/2022
0.1.67 837 8/15/2022
0.1.66 865 8/15/2022
0.1.65 836 8/15/2022
0.1.63 801 8/14/2022
0.1.62 816 8/14/2022
0.1.61 764 8/13/2022
0.1.60 867 8/13/2022
0.1.59 875 8/12/2022
0.1.57 795 8/12/2022
0.1.52 837 8/12/2022
0.1.50 817 8/11/2022
0.1.49 875 8/8/2022
0.1.48 840 8/8/2022
0.1.47 786 8/7/2022
0.1.46 850 8/6/2022
0.1.45 850 8/6/2022
0.1.44 843 8/5/2022
0.1.43 880 8/2/2022
0.1.42 844 8/2/2022
0.1.39 897 8/2/2022
0.1.38 868 7/31/2022
0.1.37 876 7/31/2022
0.1.36 879 7/31/2022
0.1.33 869 7/31/2022
0.1.32 869 7/16/2022
0.1.31 824 7/16/2022
0.1.27 895 7/16/2022
0.1.26 883 7/16/2022
0.1.25 861 7/15/2022
0.1.24 887 7/12/2022
0.1.23 832 7/12/2022
0.1.22 890 7/12/2022
0.1.21 862 7/12/2022
0.1.20 811 7/11/2022
0.1.19 904 7/11/2022
0.1.18 895 7/10/2022
0.1.17 875 7/5/2022
0.1.16 845 6/30/2022
0.1.15 843 6/30/2022
0.1.14 920 6/30/2022
0.1.14-beta.IBM-DB2.1 116 6/30/2022
0.1.13 846 6/30/2022
0.1.13-beta.teradata.1 125 6/30/2022
0.1.12 894 6/28/2022
0.1.12-beta.refactor-mapper.1 125 6/28/2022
0.1.11 886 6/28/2022
0.1.10 886 6/28/2022
0.1.10-beta.odbc.8 128 6/28/2022
0.1.10-beta.odbc.7 125 6/28/2022
0.1.10-beta.odbc.4 125 6/26/2022
0.1.9 871 6/25/2022
0.1.9-beta.parse-open-funct... 133 6/25/2022
0.1.8 891 6/18/2022
0.1.7 882 6/18/2022
0.1.7-beta.1 134 6/18/2022
0.1.6 828 6/18/2022
0.1.6-beta.2 138 6/18/2022
0.1.5 850 6/18/2022
0.1.4 921 6/18/2022
0.1.3-beta.7 139 6/18/2022
0.1.3-beta.3 122 6/18/2022
0.1.0 885 6/18/2022
0.1.0-alpha.8 113 6/18/2022
0.1.0-alpha.7 117 6/18/2022
0.1.0-alpha.4 123 6/18/2022