DubUrl 0.20.2

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

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

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 92 12/16/2024
0.20.7 102 12/14/2024
0.20.6 98 12/11/2024
0.20.5 90 12/9/2024
0.20.4 99 12/3/2024
0.20.3 90 12/2/2024
0.20.2 90 12/2/2024
0.20.1 92 12/1/2024
0.20.0 96 12/1/2024
0.19.0 120 11/25/2024
0.18.91 129 11/24/2024
0.18.90 139 11/24/2024
0.18.86 121 11/18/2024
0.18.85 125 11/18/2024
0.18.84 125 11/16/2024
0.18.82 125 11/14/2024
0.18.81 126 11/8/2024
0.18.80 128 11/6/2024
0.18.78 128 10/24/2024
0.18.76 167 10/18/2024
0.18.75 164 10/18/2024
0.18.74 116 10/16/2024
0.18.73 128 10/14/2024
0.18.72 125 10/14/2024
0.18.71 138 10/14/2024
0.18.70 139 10/11/2024
0.18.68 149 9/30/2024
0.18.67 175 9/16/2024
0.18.66 155 9/15/2024
0.18.65 151 9/15/2024
0.18.64 172 9/14/2024
0.18.62 167 9/9/2024
0.18.61 165 9/9/2024
0.18.60 160 9/2/2024
0.18.59 158 9/2/2024
0.18.58 151 9/3/2024
0.18.57 165 8/26/2024
0.18.56 191 8/21/2024
0.18.55 180 8/18/2024
0.18.54 172 8/15/2024
0.18.53 170 8/11/2024
0.18.51 112 7/29/2024
0.18.50 149 7/17/2024
0.18.49 142 7/17/2024
0.18.47 149 7/17/2024
0.18.45 164 7/14/2024
0.18.44 154 7/7/2024
0.18.43 159 7/7/2024
0.18.42 144 7/6/2024
0.18.41 155 7/6/2024
0.18.39 151 7/6/2024
0.18.38 173 7/6/2024
0.18.37 151 6/25/2024
0.18.36 166 6/23/2024
0.18.33 170 5/20/2024
0.18.32 160 5/20/2024
0.18.31 164 5/19/2024
0.18.30 179 5/15/2024
0.18.29 174 5/15/2024
0.18.28 179 5/15/2024
0.18.27 159 5/14/2024
0.18.24 151 5/14/2024
0.18.22 189 4/15/2024
0.18.20 175 4/15/2024
0.18.19 176 4/1/2024
0.18.18 246 3/25/2024
0.18.17 237 3/23/2024
0.18.16 237 3/23/2024
0.18.15 223 3/23/2024
0.18.14 221 3/23/2024
0.18.13 219 3/23/2024
0.18.12 260 3/11/2024
0.18.11 275 3/10/2024
0.18.10 279 3/10/2024
0.18.9 288 2/28/2024
0.18.8 300 2/17/2024
0.18.6 313 2/17/2024
0.18.5 289 2/17/2024
0.18.4 305 2/17/2024
0.18.3 299 2/17/2024
0.18.2 316 2/17/2024
0.18.0 338 2/11/2024
0.17.6 345 2/9/2024
0.17.5 332 2/9/2024
0.17.4 343 2/7/2024
0.17.3 338 2/7/2024
0.17.2 336 2/7/2024
0.17.1 320 1/30/2024
0.17.0 301 1/28/2024
0.16.0 329 1/27/2024
0.15.0 315 1/27/2024
0.14.0 326 1/27/2024
0.13.1 353 1/27/2024
0.13.0 345 1/22/2024
0.12.1 353 1/22/2024
0.12.0 330 1/22/2024
0.11.0 346 1/20/2024
0.10.0 347 1/20/2024
0.9.11 325 1/20/2024
0.9.10 314 1/20/2024
0.9.9 336 1/19/2024
0.9.8 333 1/19/2024
0.9.7 347 1/19/2024
0.9.6 317 1/19/2024
0.9.5 327 1/18/2024
0.9.2 433 1/8/2024
0.9.1 377 1/5/2024
0.9.0 388 12/30/2023
0.8.7 394 12/30/2023
0.8.6 419 12/25/2023
0.8.5 395 12/21/2023
0.8.4 394 12/21/2023
0.8.3 444 12/11/2023
0.8.2 432 12/11/2023
0.8.1 436 12/11/2023
0.8.0 431 12/9/2023
0.7.3 418 12/6/2023
0.7.2 464 12/5/2023
0.7.1 460 11/28/2023
0.7.0 427 11/27/2023
0.6.0 443 11/26/2023
0.5.11 452 11/25/2023
0.5.9 435 11/25/2023
0.5.8 438 11/25/2023
0.5.6 448 11/25/2023
0.5.5 424 11/25/2023
0.5.1 433 11/25/2023
0.5.0 464 11/18/2023
0.4.14 412 11/16/2023
0.4.6 435 11/16/2023
0.4.5 454 11/13/2023
0.4.4 412 11/13/2023
0.4.3 449 11/12/2023
0.4.2 416 11/12/2023
0.4.1 438 11/7/2023
0.4.0 413 11/6/2023
0.3.3 442 11/6/2023
0.3.2 437 11/6/2023
0.3.1 446 11/6/2023
0.3.0 473 10/30/2023
0.2.13 452 10/30/2023
0.2.12 426 10/30/2023
0.2.11 418 10/30/2023
0.2.10 428 10/23/2023
0.2.9 464 10/23/2023
0.2.8 469 10/16/2023
0.2.7 472 10/16/2023
0.2.6 468 10/9/2023
0.2.5 433 10/9/2023
0.2.4 439 10/9/2023
0.2.3 472 10/2/2023
0.2.0 559 9/30/2023
0.1.233 645 9/21/2023
0.1.231 544 9/19/2023
0.1.230 503 9/18/2023
0.1.228 478 9/18/2023
0.1.227 559 9/15/2023
0.1.226 507 9/14/2023
0.1.225 505 9/12/2023
0.1.224 507 9/10/2023
0.1.223 512 9/10/2023
0.1.222 504 9/9/2023
0.1.219 533 9/8/2023
0.1.218 529 9/7/2023
0.1.217 533 9/6/2023
0.1.216 571 8/28/2023
0.1.215 525 8/28/2023
0.1.214 537 8/23/2023
0.1.213 531 8/23/2023
0.1.212 585 8/15/2023
0.1.211 570 8/14/2023
0.1.210 556 8/12/2023
0.1.209 615 8/8/2023
0.1.208 704 8/1/2023
0.1.207 742 7/31/2023
0.1.206 637 7/31/2023
0.1.205 612 7/31/2023
0.1.204 641 7/30/2023
0.1.203 603 7/30/2023
0.1.202 626 7/30/2023
0.1.201 626 7/29/2023
0.1.200 643 7/11/2023
0.1.199 691 7/3/2023
0.1.198 649 7/1/2023
0.1.197 690 6/30/2023
0.1.196 947 6/29/2023
0.1.195 693 6/26/2023
0.1.194 858 6/23/2023
0.1.193 640 6/23/2023
0.1.192 684 6/21/2023
0.1.191 661 6/19/2023
0.1.190 623 6/18/2023
0.1.188 655 6/18/2023
0.1.187 643 6/17/2023
0.1.186 694 6/16/2023
0.1.184 654 6/11/2023
0.1.183 680 6/8/2023
0.1.182 676 5/31/2023
0.1.180 650 5/30/2023
0.1.179 613 5/30/2023
0.1.178 635 5/29/2023
0.1.177 664 5/28/2023
0.1.176 672 5/27/2023
0.1.175 676 5/23/2023
0.1.174 669 5/22/2023
0.1.173 652 5/21/2023
0.1.172 681 5/20/2023
0.1.171 645 5/20/2023
0.1.170 645 5/15/2023
0.1.169 687 5/14/2023
0.1.168 689 5/13/2023
0.1.167 739 5/11/2023
0.1.166 682 5/11/2023
0.1.165 668 5/3/2023
0.1.164 705 4/27/2023
0.1.163 716 4/22/2023
0.1.162 722 4/18/2023
0.1.161 712 4/17/2023
0.1.160 714 4/17/2023
0.1.159 735 4/17/2023
0.1.158 740 4/17/2023
0.1.157 705 4/13/2023
0.1.156 735 4/10/2023
0.1.155 695 4/10/2023
0.1.154 735 4/10/2023
0.1.153 697 4/10/2023
0.1.152 706 4/4/2023
0.1.151 717 4/3/2023
0.1.150 804 3/28/2023
0.1.149 774 3/20/2023
0.1.148 758 3/14/2023
0.1.147 781 3/6/2023
0.1.146 772 3/5/2023
0.1.145 843 3/5/2023
0.1.144 841 3/1/2023
0.1.143 855 1/31/2023
0.1.142 869 1/31/2023
0.1.141 863 1/25/2023
0.1.140 858 1/23/2023
0.1.139 846 1/20/2023
0.1.138 920 1/3/2023
0.1.136 889 1/3/2023
0.1.133 922 12/26/2022
0.1.132 924 12/20/2022
0.1.131 897 12/20/2022
0.1.130 925 12/14/2022
0.1.129 917 11/28/2022
0.1.128 935 11/20/2022
0.1.127 965 11/20/2022
0.1.126 948 11/20/2022
0.1.125 916 11/19/2022
0.1.124 924 11/19/2022
0.1.123 975 11/19/2022
0.1.122 995 11/19/2022
0.1.121 983 11/19/2022
0.1.120 924 11/17/2022
0.1.119 941 11/17/2022
0.1.118 956 11/17/2022
0.1.115 949 11/9/2022
0.1.114 960 11/7/2022
0.1.113 920 11/2/2022
0.1.112 977 11/2/2022
0.1.111 962 11/2/2022
0.1.110 1,019 11/1/2022
0.1.109 1,009 11/1/2022
0.1.108 1,041 10/28/2022
0.1.107 1,049 10/28/2022
0.1.106 1,001 10/28/2022
0.1.103 1,056 10/22/2022
0.1.101 1,091 10/17/2022
0.1.100 1,096 10/17/2022
0.1.99 1,050 10/17/2022
0.1.98 1,028 10/17/2022
0.1.97 1,089 10/13/2022
0.1.96 1,083 10/3/2022
0.1.94 1,098 9/26/2022
0.1.93 1,130 9/26/2022
0.1.92 1,082 9/26/2022
0.1.91 1,090 9/24/2022
0.1.90 1,122 9/24/2022
0.1.89 1,063 9/24/2022
0.1.88 1,048 9/21/2022
0.1.87 1,109 9/20/2022
0.1.86 1,150 9/20/2022
0.1.84 1,104 9/15/2022
0.1.83 1,113 9/15/2022
0.1.82 1,106 9/11/2022
0.1.81 1,130 9/10/2022
0.1.80 1,120 9/10/2022
0.1.79 1,128 9/10/2022
0.1.78 1,116 9/10/2022
0.1.77 1,025 9/7/2022
0.1.76 943 9/7/2022
0.1.75 1,008 8/30/2022
0.1.74 983 8/29/2022
0.1.72 986 8/27/2022
0.1.71 812 8/27/2022
0.1.70 850 8/21/2022
0.1.69 784 8/15/2022
0.1.68 882 8/15/2022
0.1.67 836 8/15/2022
0.1.66 864 8/15/2022
0.1.65 835 8/15/2022
0.1.63 800 8/14/2022
0.1.62 815 8/14/2022
0.1.61 763 8/13/2022
0.1.60 866 8/13/2022
0.1.59 874 8/12/2022
0.1.57 794 8/12/2022
0.1.52 836 8/12/2022
0.1.50 816 8/11/2022
0.1.49 874 8/8/2022
0.1.48 839 8/8/2022
0.1.47 785 8/7/2022
0.1.46 849 8/6/2022
0.1.45 849 8/6/2022
0.1.44 840 8/5/2022
0.1.43 879 8/2/2022
0.1.42 843 8/2/2022
0.1.39 896 8/2/2022
0.1.38 867 7/31/2022
0.1.37 875 7/31/2022
0.1.36 878 7/31/2022
0.1.33 868 7/31/2022
0.1.32 868 7/16/2022
0.1.31 823 7/16/2022
0.1.27 894 7/16/2022
0.1.26 882 7/16/2022
0.1.25 860 7/15/2022
0.1.24 886 7/12/2022
0.1.23 831 7/12/2022
0.1.22 889 7/12/2022
0.1.21 861 7/12/2022
0.1.20 810 7/11/2022
0.1.19 903 7/11/2022
0.1.18 894 7/10/2022
0.1.17 874 7/5/2022
0.1.16 844 6/30/2022
0.1.15 842 6/30/2022
0.1.14 919 6/30/2022
0.1.14-beta.IBM-DB2.1 115 6/30/2022
0.1.13 845 6/30/2022
0.1.13-beta.teradata.1 124 6/30/2022
0.1.12 893 6/28/2022
0.1.12-beta.refactor-mapper.1 124 6/28/2022
0.1.11 885 6/28/2022
0.1.10 885 6/28/2022
0.1.10-beta.odbc.8 127 6/28/2022
0.1.10-beta.odbc.7 124 6/28/2022
0.1.10-beta.odbc.4 124 6/26/2022
0.1.9 870 6/25/2022
0.1.9-beta.parse-open-funct... 132 6/25/2022
0.1.8 890 6/18/2022
0.1.7 881 6/18/2022
0.1.7-beta.1 133 6/18/2022
0.1.6 827 6/18/2022
0.1.6-beta.2 137 6/18/2022
0.1.5 849 6/18/2022
0.1.4 920 6/18/2022
0.1.3-beta.7 138 6/18/2022
0.1.3-beta.3 121 6/18/2022
0.1.0 884 6/18/2022
0.1.0-alpha.8 112 6/18/2022
0.1.0-alpha.7 116 6/18/2022
0.1.0-alpha.4 122 6/18/2022