DubUrl.OleDb 0.18.22

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

// Install DubUrl.OleDb as a Cake Tool
#tool nuget:?package=DubUrl.OleDb&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

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.18.22 76 4/15/2024
0.18.20 69 4/15/2024
0.18.19 75 4/1/2024
0.18.18 75 3/25/2024
0.18.17 74 3/23/2024
0.18.16 75 3/23/2024
0.18.15 84 3/23/2024
0.18.14 71 3/23/2024
0.18.13 75 3/23/2024
0.18.12 69 3/11/2024
0.18.11 78 3/10/2024
0.18.10 80 3/10/2024
0.18.9 80 2/28/2024
0.18.8 76 2/17/2024
0.18.6 70 2/17/2024
0.18.5 61 2/17/2024
0.18.4 72 2/17/2024
0.18.3 79 2/17/2024
0.18.2 61 2/17/2024
0.18.0 86 2/11/2024
0.17.6 74 2/9/2024
0.17.5 81 2/9/2024
0.17.4 77 2/7/2024
0.17.3 86 2/7/2024
0.17.2 63 2/7/2024
0.17.1 81 1/30/2024
0.17.0 76 1/28/2024
0.16.0 72 1/27/2024
0.15.0 73 1/27/2024
0.14.0 70 1/27/2024
0.13.1 71 1/27/2024
0.13.0 81 1/22/2024
0.12.1 72 1/22/2024
0.12.0 76 1/22/2024
0.11.0 81 1/20/2024
0.10.0 73 1/20/2024
0.9.11 67 1/20/2024
0.9.10 66 1/20/2024
0.9.9 78 1/19/2024
0.9.8 75 1/19/2024
0.9.7 71 1/19/2024
0.9.6 74 1/19/2024
0.9.5 76 1/18/2024
0.9.2 109 1/8/2024
0.9.1 98 1/5/2024
0.9.0 94 12/30/2023
0.8.7 92 12/30/2023
0.8.6 108 12/25/2023
0.8.5 106 12/21/2023
0.8.4 98 12/21/2023
0.8.3 111 12/11/2023
0.8.2 104 12/11/2023
0.8.1 101 12/11/2023
0.8.0 115 12/9/2023
0.7.3 108 12/6/2023
0.7.2 117 12/5/2023
0.7.1 129 11/28/2023
0.7.0 110 11/27/2023
0.6.0 97 11/26/2023
0.5.11 108 11/25/2023
0.5.9 111 11/25/2023
0.5.8 116 11/25/2023
0.5.6 112 11/25/2023
0.5.5 106 11/25/2023
0.5.1 111 11/25/2023
0.5.0 119 11/18/2023
0.4.14 106 11/16/2023
0.4.6 108 11/16/2023
0.4.5 108 11/13/2023
0.4.4 95 11/13/2023
0.4.3 106 11/12/2023
0.4.2 109 11/12/2023
0.4.1 107 11/7/2023
0.4.0 93 11/6/2023
0.3.3 103 11/6/2023
0.3.2 87 11/6/2023
0.3.1 104 11/6/2023
0.3.0 107 10/30/2023
0.2.13 104 10/30/2023
0.2.12 109 10/30/2023
0.2.11 101 10/30/2023
0.2.10 111 10/23/2023
0.2.9 112 10/23/2023
0.2.8 119 10/16/2023
0.2.7 121 10/16/2023
0.2.6 118 10/9/2023
0.2.5 113 10/9/2023
0.2.4 125 10/9/2023
0.2.3 127 10/2/2023
0.2.0 121 9/30/2023
0.1.233 111 9/21/2023
0.1.231 107 9/19/2023
0.1.230 106 9/18/2023
0.1.228 113 9/18/2023
0.1.227 121 9/15/2023
0.1.226 119 9/14/2023
0.1.225 120 9/12/2023
0.1.224 134 9/10/2023
0.1.223 133 9/10/2023
0.1.222 138 9/9/2023
0.1.219 128 9/8/2023
0.1.218 126 9/7/2023
0.1.217 135 9/6/2023
0.1.216 152 8/28/2023
0.1.215 149 8/28/2023
0.1.214 145 8/23/2023
0.1.213 127 8/23/2023
0.1.212 143 8/15/2023
0.1.211 142 8/14/2023
0.1.210 143 8/12/2023
0.1.209 143 8/8/2023
0.1.208 141 8/1/2023
0.1.207 140 7/31/2023
0.1.206 144 7/31/2023
0.1.205 136 7/31/2023
0.1.204 147 7/30/2023
0.1.203 130 7/30/2023
0.1.202 147 7/30/2023
0.1.201 142 7/29/2023
0.1.200 151 7/11/2023
0.1.199 153 7/3/2023
0.1.198 164 7/1/2023
0.1.197 152 6/30/2023
0.1.196 145 6/29/2023
0.1.195 138 6/26/2023
0.1.194 160 6/23/2023
0.1.193 159 6/23/2023
0.1.192 143 6/21/2023
0.1.191 155 6/19/2023
0.1.190 162 6/18/2023
0.1.188 150 6/18/2023
0.1.187 153 6/17/2023
0.1.186 147 6/16/2023
0.1.184 178 6/11/2023
0.1.183 155 6/8/2023
0.1.182 165 5/31/2023
0.1.180 150 5/30/2023
0.1.179 139 5/30/2023
0.1.178 143 5/29/2023
0.1.177 151 5/28/2023
0.1.176 156 5/27/2023
0.1.175 155 5/23/2023
0.1.174 150 5/22/2023
0.1.173 173 5/21/2023
0.1.172 157 5/20/2023
0.1.171 155 5/20/2023
0.1.170 155 5/15/2023
0.1.169 171 5/14/2023
0.1.168 156 5/13/2023
0.1.167 161 5/11/2023
0.1.166 164 5/11/2023
0.1.165 162 5/3/2023
0.1.164 181 4/27/2023
0.1.163 193 4/22/2023
0.1.162 166 4/18/2023
0.1.161 188 4/17/2023
0.1.160 195 4/17/2023
0.1.159 187 4/17/2023
0.1.158 183 4/17/2023
0.1.157 186 4/13/2023
0.1.156 205 4/10/2023
0.1.155 201 4/10/2023
0.1.154 186 4/10/2023
0.1.153 201 4/10/2023
0.1.152 221 4/4/2023
0.1.151 191 4/3/2023
0.1.150 229 3/28/2023
0.1.149 231 3/20/2023
0.1.148 232 3/14/2023
0.1.147 245 3/6/2023
0.1.146 238 3/5/2023
0.1.145 246 3/5/2023
0.1.144 264 3/1/2023
0.1.143 278 1/31/2023
0.1.142 267 1/31/2023
0.1.141 273 1/25/2023
0.1.140 297 1/23/2023
0.1.139 288 1/20/2023
0.1.138 308 1/3/2023
0.1.136 292 1/3/2023
0.1.133 326 12/26/2022
0.1.132 292 12/20/2022
0.1.131 313 12/20/2022
0.1.130 303 12/14/2022
0.1.129 330 11/28/2022
0.1.128 342 11/20/2022
0.1.127 342 11/20/2022
0.1.126 328 11/20/2022
0.1.125 329 11/19/2022
0.1.124 346 11/19/2022
0.1.123 359 11/19/2022
0.1.122 334 11/19/2022
0.1.121 331 11/19/2022
0.1.120 343 11/17/2022
0.1.119 347 11/17/2022
0.1.118 344 11/17/2022
0.1.115 323 11/9/2022
0.1.114 351 11/7/2022
0.1.113 369 11/2/2022
0.1.112 357 11/2/2022
0.1.111 367 11/2/2022
0.1.110 360 11/1/2022
0.1.109 367 11/1/2022
0.1.108 379 10/28/2022
0.1.107 356 10/28/2022
0.1.106 371 10/28/2022
0.1.103 415 10/22/2022
0.1.101 400 10/17/2022
0.1.100 404 10/17/2022
0.1.99 407 10/17/2022
0.1.98 409 10/17/2022
0.1.97 427 10/13/2022
0.1.96 408 10/3/2022
0.1.94 426 9/26/2022
0.1.93 416 9/26/2022
0.1.92 429 9/26/2022
0.1.91 447 9/24/2022
0.1.90 439 9/24/2022
0.1.89 442 9/24/2022
0.1.88 416 9/21/2022
0.1.87 414 9/20/2022
0.1.86 428 9/20/2022
0.1.84 453 9/15/2022
0.1.83 434 9/15/2022
0.1.82 444 9/11/2022
0.1.81 430 9/10/2022
0.1.80 422 9/10/2022
0.1.79 447 9/10/2022
0.1.78 432 9/10/2022
0.1.77 432 9/7/2022
0.1.76 416 9/7/2022
0.1.75 438 8/30/2022
0.1.74 431 8/29/2022
0.1.72 427 8/27/2022