DubUrl 0.18.22

dotnet add package DubUrl --version 0.18.22
NuGet\Install-Package DubUrl -Version 0.18.22
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.18.22" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DubUrl --version 0.18.22
#r "nuget: DubUrl, 0.18.22"
#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.18.22

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

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 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 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. 
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.18.22 120 4/15/2024
0.18.20 111 4/15/2024
0.18.19 110 4/1/2024
0.18.18 147 3/25/2024
0.18.17 157 3/23/2024
0.18.16 144 3/23/2024
0.18.15 147 3/23/2024
0.18.14 139 3/23/2024
0.18.13 142 3/23/2024
0.18.12 185 3/11/2024
0.18.11 195 3/10/2024
0.18.10 198 3/10/2024
0.18.9 230 2/28/2024
0.18.8 231 2/17/2024
0.18.6 229 2/17/2024
0.18.5 215 2/17/2024
0.18.4 234 2/17/2024
0.18.3 226 2/17/2024
0.18.2 233 2/17/2024
0.18.0 254 2/11/2024
0.17.6 251 2/9/2024
0.17.5 245 2/9/2024
0.17.4 263 2/7/2024
0.17.3 259 2/7/2024
0.17.2 240 2/7/2024
0.17.1 247 1/30/2024
0.17.0 249 1/28/2024
0.16.0 262 1/27/2024
0.15.0 256 1/27/2024
0.14.0 265 1/27/2024
0.13.1 263 1/27/2024
0.13.0 282 1/22/2024
0.12.1 273 1/22/2024
0.12.0 259 1/22/2024
0.11.0 271 1/20/2024
0.10.0 268 1/20/2024
0.9.11 264 1/20/2024
0.9.10 240 1/20/2024
0.9.9 261 1/19/2024
0.9.8 260 1/19/2024
0.9.7 270 1/19/2024
0.9.6 244 1/19/2024
0.9.5 272 1/18/2024
0.9.2 341 1/8/2024
0.9.1 305 1/5/2024
0.9.0 317 12/30/2023
0.8.7 320 12/30/2023
0.8.6 343 12/25/2023
0.8.5 328 12/21/2023
0.8.4 330 12/21/2023
0.8.3 371 12/11/2023
0.8.2 360 12/11/2023
0.8.1 361 12/11/2023
0.8.0 358 12/9/2023
0.7.3 352 12/6/2023
0.7.2 369 12/5/2023
0.7.1 396 11/28/2023
0.7.0 358 11/27/2023
0.6.0 365 11/26/2023
0.5.11 363 11/25/2023
0.5.9 356 11/25/2023
0.5.8 371 11/25/2023
0.5.6 378 11/25/2023
0.5.5 360 11/25/2023
0.5.1 365 11/25/2023
0.5.0 388 11/18/2023
0.4.14 342 11/16/2023
0.4.6 372 11/16/2023
0.4.5 373 11/13/2023
0.4.4 341 11/13/2023
0.4.3 371 11/12/2023
0.4.2 347 11/12/2023
0.4.1 366 11/7/2023
0.4.0 338 11/6/2023
0.3.3 372 11/6/2023
0.3.2 368 11/6/2023
0.3.1 372 11/6/2023
0.3.0 404 10/30/2023
0.2.13 383 10/30/2023
0.2.12 377 10/30/2023
0.2.11 354 10/30/2023
0.2.10 364 10/23/2023
0.2.9 390 10/23/2023
0.2.8 410 10/16/2023
0.2.7 409 10/16/2023
0.2.6 404 10/9/2023
0.2.5 376 10/9/2023
0.2.4 377 10/9/2023
0.2.3 410 10/2/2023
0.2.0 476 9/30/2023
0.1.233 535 9/21/2023
0.1.231 468 9/19/2023
0.1.230 440 9/18/2023
0.1.228 420 9/18/2023
0.1.227 487 9/15/2023
0.1.226 447 9/14/2023
0.1.225 430 9/12/2023
0.1.224 433 9/10/2023
0.1.223 437 9/10/2023
0.1.222 442 9/9/2023
0.1.219 474 9/8/2023
0.1.218 459 9/7/2023
0.1.217 458 9/6/2023
0.1.216 496 8/28/2023
0.1.215 466 8/28/2023
0.1.214 463 8/23/2023
0.1.213 452 8/23/2023
0.1.212 531 8/15/2023
0.1.211 493 8/14/2023
0.1.210 488 8/12/2023
0.1.209 523 8/8/2023
0.1.208 619 8/1/2023
0.1.207 642 7/31/2023
0.1.206 570 7/31/2023
0.1.205 550 7/31/2023
0.1.204 576 7/30/2023
0.1.203 524 7/30/2023
0.1.202 552 7/30/2023
0.1.201 556 7/29/2023
0.1.200 582 7/11/2023
0.1.199 622 7/3/2023
0.1.198 575 7/1/2023
0.1.197 615 6/30/2023
0.1.196 805 6/29/2023
0.1.195 617 6/26/2023
0.1.194 740 6/23/2023
0.1.193 569 6/23/2023
0.1.192 607 6/21/2023
0.1.191 592 6/19/2023
0.1.190 558 6/18/2023
0.1.188 595 6/18/2023
0.1.187 581 6/17/2023
0.1.186 632 6/16/2023
0.1.184 585 6/11/2023
0.1.183 617 6/8/2023
0.1.182 614 5/31/2023
0.1.180 596 5/30/2023
0.1.179 548 5/30/2023
0.1.178 563 5/29/2023
0.1.177 606 5/28/2023
0.1.176 621 5/27/2023
0.1.175 611 5/23/2023
0.1.174 613 5/22/2023
0.1.173 593 5/21/2023
0.1.172 620 5/20/2023
0.1.171 575 5/20/2023
0.1.170 586 5/15/2023
0.1.169 625 5/14/2023
0.1.168 629 5/13/2023
0.1.167 677 5/11/2023
0.1.166 622 5/11/2023
0.1.165 604 5/3/2023
0.1.164 645 4/27/2023
0.1.163 655 4/22/2023
0.1.162 662 4/18/2023
0.1.161 654 4/17/2023
0.1.160 654 4/17/2023
0.1.159 673 4/17/2023
0.1.158 678 4/17/2023
0.1.157 642 4/13/2023
0.1.156 672 4/10/2023
0.1.155 647 4/10/2023
0.1.154 674 4/10/2023
0.1.153 632 4/10/2023
0.1.152 640 4/4/2023
0.1.151 670 4/3/2023
0.1.150 737 3/28/2023
0.1.149 706 3/20/2023
0.1.148 706 3/14/2023
0.1.147 721 3/6/2023
0.1.146 726 3/5/2023
0.1.145 784 3/5/2023
0.1.144 755 3/1/2023
0.1.143 795 1/31/2023
0.1.142 782 1/31/2023
0.1.141 783 1/25/2023
0.1.140 788 1/23/2023
0.1.139 786 1/20/2023
0.1.138 860 1/3/2023
0.1.136 811 1/3/2023
0.1.133 843 12/26/2022
0.1.132 865 12/20/2022
0.1.131 845 12/20/2022
0.1.130 883 12/14/2022
0.1.129 859 11/28/2022
0.1.128 893 11/20/2022
0.1.127 899 11/20/2022
0.1.126 889 11/20/2022
0.1.125 869 11/19/2022
0.1.124 866 11/19/2022
0.1.123 921 11/19/2022
0.1.122 938 11/19/2022
0.1.121 933 11/19/2022
0.1.120 885 11/17/2022
0.1.119 896 11/17/2022
0.1.118 899 11/17/2022
0.1.115 908 11/9/2022
0.1.114 922 11/7/2022
0.1.113 870 11/2/2022
0.1.112 922 11/2/2022
0.1.111 903 11/2/2022
0.1.110 978 11/1/2022
0.1.109 956 11/1/2022
0.1.108 969 10/28/2022
0.1.107 991 10/28/2022
0.1.106 944 10/28/2022
0.1.103 1,009 10/22/2022
0.1.101 1,048 10/17/2022
0.1.100 1,035 10/17/2022
0.1.99 1,003 10/17/2022
0.1.98 980 10/17/2022
0.1.97 1,031 10/13/2022
0.1.96 1,026 10/3/2022
0.1.94 1,054 9/26/2022
0.1.93 1,083 9/26/2022
0.1.92 1,020 9/26/2022
0.1.91 1,032 9/24/2022
0.1.90 1,082 9/24/2022
0.1.89 1,021 9/24/2022
0.1.88 996 9/21/2022
0.1.87 1,050 9/20/2022
0.1.86 1,092 9/20/2022
0.1.84 1,047 9/15/2022
0.1.83 1,047 9/15/2022
0.1.82 1,061 9/11/2022
0.1.81 1,064 9/10/2022
0.1.80 1,062 9/10/2022
0.1.79 1,065 9/10/2022
0.1.78 1,059 9/10/2022
0.1.77 959 9/7/2022
0.1.76 893 9/7/2022
0.1.75 956 8/30/2022
0.1.74 934 8/29/2022
0.1.72 955 8/27/2022
0.1.71 773 8/27/2022
0.1.70 796 8/21/2022
0.1.69 759 8/15/2022
0.1.68 842 8/15/2022
0.1.67 805 8/15/2022
0.1.66 839 8/15/2022
0.1.65 793 8/15/2022
0.1.63 775 8/14/2022
0.1.62 767 8/14/2022
0.1.61 738 8/13/2022
0.1.60 835 8/13/2022
0.1.59 824 8/12/2022
0.1.57 754 8/12/2022
0.1.52 811 8/12/2022
0.1.50 791 8/11/2022
0.1.49 849 8/8/2022
0.1.48 799 8/8/2022
0.1.47 755 8/7/2022
0.1.46 816 8/6/2022
0.1.45 809 8/6/2022
0.1.44 802 8/5/2022
0.1.43 845 8/2/2022
0.1.42 804 8/2/2022
0.1.39 843 8/2/2022
0.1.38 839 7/31/2022
0.1.37 833 7/31/2022
0.1.36 838 7/31/2022
0.1.33 829 7/31/2022
0.1.32 842 7/16/2022
0.1.31 781 7/16/2022
0.1.27 857 7/16/2022
0.1.26 840 7/16/2022
0.1.25 818 7/15/2022
0.1.24 845 7/12/2022
0.1.23 805 7/12/2022
0.1.22 854 7/12/2022
0.1.21 834 7/12/2022
0.1.20 775 7/11/2022
0.1.19 864 7/11/2022
0.1.18 868 7/10/2022
0.1.17 841 7/5/2022
0.1.16 809 6/30/2022
0.1.15 801 6/30/2022
0.1.14 892 6/30/2022
0.1.14-beta.IBM-DB2.1 104 6/30/2022
0.1.13 798 6/30/2022
0.1.13-beta.teradata.1 110 6/30/2022
0.1.12 863 6/28/2022
0.1.12-beta.refactor-mapper.1 110 6/28/2022
0.1.11 837 6/28/2022
0.1.10 843 6/28/2022
0.1.10-beta.odbc.8 113 6/28/2022
0.1.10-beta.odbc.7 110 6/28/2022
0.1.10-beta.odbc.4 111 6/26/2022
0.1.9 831 6/25/2022
0.1.9-beta.parse-open-funct... 119 6/25/2022
0.1.8 864 6/18/2022
0.1.7 854 6/18/2022
0.1.7-beta.1 113 6/18/2022
0.1.6 778 6/18/2022
0.1.6-beta.2 123 6/18/2022
0.1.5 808 6/18/2022
0.1.4 872 6/18/2022
0.1.3-beta.7 118 6/18/2022
0.1.3-beta.3 101 6/18/2022
0.1.0 829 6/18/2022
0.1.0-alpha.8 98 6/18/2022
0.1.0-alpha.7 103 6/18/2022
0.1.0-alpha.4 103 6/18/2022