DubUrl 0.17.5

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

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

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
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
SingleStore singlestore, single SingleStoreConnector
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, 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.67 113 9/16/2024
0.18.66 103 9/15/2024
0.18.65 96 9/15/2024
0.18.64 108 9/14/2024
0.18.62 107 9/9/2024
0.18.61 112 9/9/2024
0.18.60 102 9/2/2024
0.18.59 106 9/2/2024
0.18.58 107 9/3/2024
0.18.57 115 8/26/2024
0.18.56 134 8/21/2024
0.18.55 134 8/18/2024
0.18.54 124 8/15/2024
0.18.53 125 8/11/2024
0.18.51 68 7/29/2024
0.18.50 106 7/17/2024
0.18.49 103 7/17/2024
0.18.47 101 7/17/2024
0.18.45 104 7/14/2024
0.18.44 116 7/7/2024
0.18.43 109 7/7/2024
0.18.42 97 7/6/2024
0.18.41 112 7/6/2024
0.18.39 113 7/6/2024
0.18.38 123 7/6/2024
0.18.37 104 6/25/2024
0.18.36 120 6/23/2024
0.18.33 125 5/20/2024
0.18.32 118 5/20/2024
0.18.31 121 5/19/2024
0.18.30 140 5/15/2024
0.18.29 125 5/15/2024
0.18.28 127 5/15/2024
0.18.27 113 5/14/2024
0.18.24 105 5/14/2024
0.18.22 145 4/15/2024
0.18.20 132 4/15/2024
0.18.19 131 4/1/2024
0.18.18 188 3/25/2024
0.18.17 190 3/23/2024
0.18.16 175 3/23/2024
0.18.15 172 3/23/2024
0.18.14 175 3/23/2024
0.18.13 178 3/23/2024
0.18.12 221 3/11/2024
0.18.11 230 3/10/2024
0.18.10 234 3/10/2024
0.18.9 245 2/28/2024
0.18.8 258 2/17/2024
0.18.6 267 2/17/2024
0.18.5 249 2/17/2024
0.18.4 264 2/17/2024
0.18.3 257 2/17/2024
0.18.2 262 2/17/2024
0.18.0 289 2/11/2024
0.17.6 297 2/9/2024
0.17.5 289 2/9/2024
0.17.4 292 2/7/2024
0.17.3 289 2/7/2024
0.17.2 269 2/7/2024
0.17.1 276 1/30/2024
0.17.0 262 1/28/2024
0.16.0 292 1/27/2024
0.15.0 271 1/27/2024
0.14.0 279 1/27/2024
0.13.1 306 1/27/2024
0.13.0 297 1/22/2024
0.12.1 311 1/22/2024
0.12.0 290 1/22/2024
0.11.0 301 1/20/2024
0.10.0 302 1/20/2024
0.9.11 281 1/20/2024
0.9.10 271 1/20/2024
0.9.9 292 1/19/2024
0.9.8 290 1/19/2024
0.9.7 298 1/19/2024
0.9.6 274 1/19/2024
0.9.5 287 1/18/2024
0.9.2 389 1/8/2024
0.9.1 339 1/5/2024
0.9.0 345 12/30/2023
0.8.7 350 12/30/2023
0.8.6 370 12/25/2023
0.8.5 354 12/21/2023
0.8.4 357 12/21/2023
0.8.3 404 12/11/2023
0.8.2 387 12/11/2023
0.8.1 395 12/11/2023
0.8.0 385 12/9/2023
0.7.3 378 12/6/2023
0.7.2 409 12/5/2023
0.7.1 422 11/28/2023
0.7.0 383 11/27/2023
0.6.0 397 11/26/2023
0.5.11 391 11/25/2023
0.5.9 381 11/25/2023
0.5.8 396 11/25/2023
0.5.6 405 11/25/2023
0.5.5 385 11/25/2023
0.5.1 392 11/25/2023
0.5.0 415 11/18/2023
0.4.14 368 11/16/2023
0.4.6 395 11/16/2023
0.4.5 410 11/13/2023
0.4.4 364 11/13/2023
0.4.3 404 11/12/2023
0.4.2 372 11/12/2023
0.4.1 398 11/7/2023
0.4.0 365 11/6/2023
0.3.3 400 11/6/2023
0.3.2 394 11/6/2023
0.3.1 400 11/6/2023
0.3.0 433 10/30/2023
0.2.13 411 10/30/2023
0.2.12 394 10/30/2023
0.2.11 386 10/30/2023
0.2.10 391 10/23/2023
0.2.9 427 10/23/2023
0.2.8 437 10/16/2023
0.2.7 438 10/16/2023
0.2.6 433 10/9/2023
0.2.5 403 10/9/2023
0.2.4 406 10/9/2023
0.2.3 439 10/2/2023
0.2.0 506 9/30/2023
0.1.233 566 9/21/2023
0.1.231 500 9/19/2023
0.1.230 466 9/18/2023
0.1.228 448 9/18/2023
0.1.227 525 9/15/2023
0.1.226 476 9/14/2023
0.1.225 470 9/12/2023
0.1.224 474 9/10/2023
0.1.223 476 9/10/2023
0.1.222 465 9/9/2023
0.1.219 500 9/8/2023
0.1.218 493 9/7/2023
0.1.217 492 9/6/2023
0.1.216 523 8/28/2023
0.1.215 489 8/28/2023
0.1.214 501 8/23/2023
0.1.213 490 8/23/2023
0.1.212 553 8/15/2023
0.1.211 535 8/14/2023
0.1.210 520 8/12/2023
0.1.209 552 8/8/2023
0.1.208 651 8/1/2023
0.1.207 694 7/31/2023
0.1.206 597 7/31/2023
0.1.205 577 7/31/2023
0.1.204 603 7/30/2023
0.1.203 568 7/30/2023
0.1.202 593 7/30/2023
0.1.201 588 7/29/2023
0.1.200 611 7/11/2023
0.1.199 656 7/3/2023
0.1.198 613 7/1/2023
0.1.197 655 6/30/2023
0.1.196 853 6/29/2023
0.1.195 655 6/26/2023
0.1.194 782 6/23/2023
0.1.193 601 6/23/2023
0.1.192 646 6/21/2023
0.1.191 623 6/19/2023
0.1.190 590 6/18/2023
0.1.188 619 6/18/2023
0.1.187 611 6/17/2023
0.1.186 654 6/16/2023
0.1.184 618 6/11/2023
0.1.183 642 6/8/2023
0.1.182 639 5/31/2023
0.1.180 618 5/30/2023
0.1.179 576 5/30/2023
0.1.178 596 5/29/2023
0.1.177 628 5/28/2023
0.1.176 640 5/27/2023
0.1.175 643 5/23/2023
0.1.174 635 5/22/2023
0.1.173 617 5/21/2023
0.1.172 644 5/20/2023
0.1.171 607 5/20/2023
0.1.170 610 5/15/2023
0.1.169 653 5/14/2023
0.1.168 650 5/13/2023
0.1.167 701 5/11/2023
0.1.166 646 5/11/2023
0.1.165 628 5/3/2023
0.1.164 672 4/27/2023
0.1.163 681 4/22/2023
0.1.162 686 4/18/2023
0.1.161 671 4/17/2023
0.1.160 678 4/17/2023
0.1.159 695 4/17/2023
0.1.158 703 4/17/2023
0.1.157 676 4/13/2023
0.1.156 697 4/10/2023
0.1.155 657 4/10/2023
0.1.154 700 4/10/2023
0.1.153 665 4/10/2023
0.1.152 667 4/4/2023
0.1.151 680 4/3/2023
0.1.150 766 3/28/2023
0.1.149 729 3/20/2023
0.1.148 730 3/14/2023
0.1.147 744 3/6/2023
0.1.146 734 3/5/2023
0.1.145 807 3/5/2023
0.1.144 779 3/1/2023
0.1.143 823 1/31/2023
0.1.142 816 1/31/2023
0.1.141 814 1/25/2023
0.1.140 823 1/23/2023
0.1.139 810 1/20/2023
0.1.138 870 1/3/2023
0.1.136 844 1/3/2023
0.1.133 874 12/26/2022
0.1.132 890 12/20/2022
0.1.131 862 12/20/2022
0.1.130 892 12/14/2022
0.1.129 886 11/28/2022
0.1.128 901 11/20/2022
0.1.127 934 11/20/2022
0.1.126 917 11/20/2022
0.1.125 881 11/19/2022
0.1.124 889 11/19/2022
0.1.123 929 11/19/2022
0.1.122 960 11/19/2022
0.1.121 949 11/19/2022
0.1.120 893 11/17/2022
0.1.119 904 11/17/2022
0.1.118 925 11/17/2022
0.1.115 917 11/9/2022
0.1.114 928 11/7/2022
0.1.113 889 11/2/2022
0.1.112 941 11/2/2022
0.1.111 917 11/2/2022
0.1.110 984 11/1/2022
0.1.109 978 11/1/2022
0.1.108 1,006 10/28/2022
0.1.107 1,014 10/28/2022
0.1.106 970 10/28/2022
0.1.103 1,025 10/22/2022
0.1.101 1,056 10/17/2022
0.1.100 1,043 10/17/2022
0.1.99 1,011 10/17/2022
0.1.98 991 10/17/2022
0.1.97 1,054 10/13/2022
0.1.96 1,047 10/3/2022
0.1.94 1,071 9/26/2022
0.1.93 1,094 9/26/2022
0.1.92 1,045 9/26/2022
0.1.91 1,054 9/24/2022
0.1.90 1,088 9/24/2022
0.1.89 1,027 9/24/2022
0.1.88 1,013 9/21/2022
0.1.87 1,072 9/20/2022
0.1.86 1,116 9/20/2022
0.1.84 1,068 9/15/2022
0.1.83 1,078 9/15/2022
0.1.82 1,078 9/11/2022
0.1.81 1,078 9/10/2022
0.1.80 1,084 9/10/2022
0.1.79 1,092 9/10/2022
0.1.78 1,079 9/10/2022
0.1.77 994 9/7/2022
0.1.76 914 9/7/2022
0.1.75 980 8/30/2022
0.1.74 961 8/29/2022
0.1.72 968 8/27/2022
0.1.71 794 8/27/2022
0.1.70 832 8/21/2022
0.1.69 766 8/15/2022
0.1.68 864 8/15/2022
0.1.67 812 8/15/2022
0.1.66 846 8/15/2022
0.1.65 817 8/15/2022
0.1.63 782 8/14/2022
0.1.62 797 8/14/2022
0.1.61 745 8/13/2022
0.1.60 842 8/13/2022
0.1.59 846 8/12/2022
0.1.57 776 8/12/2022
0.1.52 818 8/12/2022
0.1.50 798 8/11/2022
0.1.49 856 8/8/2022
0.1.48 821 8/8/2022
0.1.47 762 8/7/2022
0.1.46 831 8/6/2022
0.1.45 831 8/6/2022
0.1.44 822 8/5/2022
0.1.43 861 8/2/2022
0.1.42 825 8/2/2022
0.1.39 878 8/2/2022
0.1.38 847 7/31/2022
0.1.37 857 7/31/2022
0.1.36 858 7/31/2022
0.1.33 850 7/31/2022
0.1.32 850 7/16/2022
0.1.31 803 7/16/2022
0.1.27 874 7/16/2022
0.1.26 862 7/16/2022
0.1.25 840 7/15/2022
0.1.24 868 7/12/2022
0.1.23 813 7/12/2022
0.1.22 869 7/12/2022
0.1.21 843 7/12/2022
0.1.20 792 7/11/2022
0.1.19 885 7/11/2022
0.1.18 876 7/10/2022
0.1.17 854 7/5/2022
0.1.16 826 6/30/2022
0.1.15 824 6/30/2022
0.1.14 899 6/30/2022
0.1.14-beta.IBM-DB2.1 107 6/30/2022
0.1.13 823 6/30/2022
0.1.13-beta.teradata.1 116 6/30/2022
0.1.12 870 6/28/2022
0.1.12-beta.refactor-mapper.1 116 6/28/2022
0.1.11 859 6/28/2022
0.1.10 865 6/28/2022
0.1.10-beta.odbc.8 117 6/28/2022
0.1.10-beta.odbc.7 114 6/28/2022
0.1.10-beta.odbc.4 115 6/26/2022
0.1.9 852 6/25/2022
0.1.9-beta.parse-open-funct... 124 6/25/2022
0.1.8 872 6/18/2022
0.1.7 861 6/18/2022
0.1.7-beta.1 123 6/18/2022
0.1.6 809 6/18/2022
0.1.6-beta.2 127 6/18/2022
0.1.5 831 6/18/2022
0.1.4 900 6/18/2022
0.1.3-beta.7 130 6/18/2022
0.1.3-beta.3 113 6/18/2022
0.1.0 866 6/18/2022
0.1.0-alpha.8 102 6/18/2022
0.1.0-alpha.7 108 6/18/2022
0.1.0-alpha.4 114 6/18/2022