DubUrl.OleDb 0.20.5

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

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

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.20.8 84 12/16/2024
0.20.7 83 12/14/2024
0.20.6 76 12/11/2024
0.20.5 69 12/9/2024
0.20.4 83 12/3/2024
0.20.3 75 12/2/2024
0.20.2 78 12/2/2024
0.20.1 82 12/1/2024
0.20.0 83 12/1/2024
0.19.0 94 11/25/2024
0.18.91 93 11/24/2024
0.18.90 94 11/24/2024
0.18.86 74 11/18/2024
0.18.85 79 11/18/2024
0.18.84 76 11/16/2024
0.18.82 80 11/14/2024
0.18.81 81 11/8/2024
0.18.80 85 11/6/2024
0.18.78 88 10/24/2024
0.18.76 130 10/18/2024
0.18.75 127 10/18/2024
0.18.74 74 10/16/2024
0.18.73 92 10/14/2024
0.18.72 85 10/14/2024
0.18.71 99 10/14/2024
0.18.70 92 10/11/2024
0.18.68 100 9/30/2024
0.18.67 125 9/16/2024
0.18.66 126 9/15/2024
0.18.65 101 9/15/2024
0.18.64 120 9/14/2024
0.18.62 115 9/9/2024
0.18.61 104 9/9/2024
0.18.60 107 9/2/2024
0.18.59 97 9/2/2024
0.18.58 101 9/3/2024
0.18.57 106 8/26/2024
0.18.56 125 8/21/2024
0.18.55 128 8/18/2024
0.18.54 121 8/15/2024
0.18.53 121 8/11/2024
0.18.51 94 7/29/2024
0.18.50 103 7/17/2024
0.18.49 91 7/17/2024
0.18.47 103 7/17/2024
0.18.45 95 7/14/2024
0.18.44 107 7/7/2024
0.18.43 100 7/7/2024
0.18.42 106 7/6/2024
0.18.41 106 7/6/2024
0.18.39 111 7/6/2024
0.18.38 112 7/6/2024
0.18.37 104 6/25/2024
0.18.36 107 6/23/2024
0.18.33 104 5/20/2024
0.18.32 102 5/20/2024
0.18.31 98 5/19/2024
0.18.30 158 5/15/2024
0.18.29 104 5/15/2024
0.18.28 114 5/15/2024
0.18.27 98 5/14/2024
0.18.24 89 5/14/2024
0.18.22 124 4/15/2024
0.18.20 110 4/15/2024
0.18.19 113 4/1/2024
0.18.18 121 3/25/2024
0.18.17 119 3/23/2024
0.18.16 112 3/23/2024
0.18.15 129 3/23/2024
0.18.14 108 3/23/2024
0.18.13 119 3/23/2024
0.18.12 113 3/11/2024
0.18.11 122 3/10/2024
0.18.10 123 3/10/2024
0.18.9 123 2/28/2024
0.18.8 120 2/17/2024
0.18.6 106 2/17/2024
0.18.5 97 2/17/2024
0.18.4 115 2/17/2024
0.18.3 121 2/17/2024
0.18.2 109 2/17/2024
0.18.0 132 2/11/2024
0.17.6 118 2/9/2024
0.17.5 120 2/9/2024
0.17.4 113 2/7/2024
0.17.3 134 2/7/2024
0.17.2 99 2/7/2024
0.17.1 122 1/30/2024
0.17.0 118 1/28/2024
0.16.0 109 1/27/2024
0.15.0 107 1/27/2024
0.14.0 106 1/27/2024
0.13.1 106 1/27/2024
0.13.0 122 1/22/2024
0.12.1 106 1/22/2024
0.12.0 108 1/22/2024
0.11.0 126 1/20/2024
0.10.0 106 1/20/2024
0.9.11 104 1/20/2024
0.9.10 104 1/20/2024
0.9.9 113 1/19/2024
0.9.8 113 1/19/2024
0.9.7 118 1/19/2024
0.9.6 119 1/19/2024
0.9.5 114 1/18/2024
0.9.2 146 1/8/2024
0.9.1 141 1/5/2024
0.9.0 134 12/30/2023
0.8.7 136 12/30/2023
0.8.6 151 12/25/2023
0.8.5 142 12/21/2023
0.8.4 128 12/21/2023
0.8.3 151 12/11/2023
0.8.2 146 12/11/2023
0.8.1 139 12/11/2023
0.8.0 149 12/9/2023
0.7.3 143 12/6/2023
0.7.2 150 12/5/2023
0.7.1 158 11/28/2023
0.7.0 142 11/27/2023
0.6.0 139 11/26/2023
0.5.11 138 11/25/2023
0.5.9 139 11/25/2023
0.5.8 147 11/25/2023
0.5.6 149 11/25/2023
0.5.5 134 11/25/2023
0.5.1 147 11/25/2023
0.5.0 151 11/18/2023
0.4.14 136 11/16/2023
0.4.6 137 11/16/2023
0.4.5 140 11/13/2023
0.4.4 128 11/13/2023
0.4.3 138 11/12/2023
0.4.2 143 11/12/2023
0.4.1 140 11/7/2023
0.4.0 122 11/6/2023
0.3.3 144 11/6/2023
0.3.2 122 11/6/2023
0.3.1 141 11/6/2023
0.3.0 135 10/30/2023
0.2.13 141 10/30/2023
0.2.12 149 10/30/2023
0.2.11 138 10/30/2023
0.2.10 148 10/23/2023
0.2.9 145 10/23/2023
0.2.8 163 10/16/2023
0.2.7 163 10/16/2023
0.2.6 154 10/9/2023
0.2.5 153 10/9/2023
0.2.4 163 10/9/2023
0.2.3 156 10/2/2023
0.2.0 152 9/30/2023
0.1.233 145 9/21/2023
0.1.231 141 9/19/2023
0.1.230 140 9/18/2023
0.1.228 145 9/18/2023
0.1.227 150 9/15/2023
0.1.226 153 9/14/2023
0.1.225 147 9/12/2023
0.1.224 170 9/10/2023
0.1.223 175 9/10/2023
0.1.222 182 9/9/2023
0.1.219 163 9/8/2023
0.1.218 159 9/7/2023
0.1.217 174 9/6/2023
0.1.216 189 8/28/2023
0.1.215 187 8/28/2023
0.1.214 175 8/23/2023
0.1.213 161 8/23/2023
0.1.212 175 8/15/2023
0.1.211 176 8/14/2023
0.1.210 181 8/12/2023
0.1.209 172 8/8/2023
0.1.208 177 8/1/2023
0.1.207 170 7/31/2023
0.1.206 174 7/31/2023
0.1.205 165 7/31/2023
0.1.204 182 7/30/2023
0.1.203 160 7/30/2023
0.1.202 175 7/30/2023
0.1.201 174 7/29/2023
0.1.200 187 7/11/2023
0.1.199 184 7/3/2023
0.1.198 205 7/1/2023
0.1.197 191 6/30/2023
0.1.196 178 6/29/2023
0.1.195 176 6/26/2023
0.1.194 202 6/23/2023
0.1.193 194 6/23/2023
0.1.192 185 6/21/2023
0.1.191 191 6/19/2023
0.1.190 201 6/18/2023
0.1.188 196 6/18/2023
0.1.187 188 6/17/2023
0.1.186 179 6/16/2023
0.1.184 218 6/11/2023
0.1.183 186 6/8/2023
0.1.182 204 5/31/2023
0.1.180 180 5/30/2023
0.1.179 173 5/30/2023
0.1.178 173 5/29/2023
0.1.177 191 5/28/2023
0.1.176 190 5/27/2023
0.1.175 186 5/23/2023
0.1.174 178 5/22/2023
0.1.173 206 5/21/2023
0.1.172 195 5/20/2023
0.1.171 186 5/20/2023
0.1.170 193 5/15/2023
0.1.169 197 5/14/2023
0.1.168 195 5/13/2023
0.1.167 191 5/11/2023
0.1.166 204 5/11/2023
0.1.165 188 5/3/2023
0.1.164 218 4/27/2023
0.1.163 229 4/22/2023
0.1.162 206 4/18/2023
0.1.161 221 4/17/2023
0.1.160 230 4/17/2023
0.1.159 218 4/17/2023
0.1.158 215 4/17/2023
0.1.157 234 4/13/2023
0.1.156 236 4/10/2023
0.1.155 234 4/10/2023
0.1.154 219 4/10/2023
0.1.153 233 4/10/2023
0.1.152 257 4/4/2023
0.1.151 226 4/3/2023
0.1.150 263 3/28/2023
0.1.149 264 3/20/2023
0.1.148 245 3/14/2023
0.1.147 273 3/6/2023
0.1.146 266 3/5/2023
0.1.145 276 3/5/2023
0.1.144 293 3/1/2023
0.1.143 310 1/31/2023
0.1.142 297 1/31/2023
0.1.141 310 1/25/2023
0.1.140 328 1/23/2023
0.1.139 317 1/20/2023
0.1.138 345 1/3/2023
0.1.136 331 1/3/2023
0.1.133 361 12/26/2022
0.1.132 324 12/20/2022
0.1.131 352 12/20/2022
0.1.130 340 12/14/2022
0.1.129 363 11/28/2022
0.1.128 381 11/20/2022
0.1.127 380 11/20/2022
0.1.126 359 11/20/2022
0.1.125 358 11/19/2022
0.1.124 386 11/19/2022
0.1.123 391 11/19/2022
0.1.122 361 11/19/2022
0.1.121 368 11/19/2022
0.1.120 374 11/17/2022
0.1.119 385 11/17/2022
0.1.118 381 11/17/2022
0.1.115 357 11/9/2022
0.1.114 386 11/7/2022
0.1.113 402 11/2/2022
0.1.112 388 11/2/2022
0.1.111 412 11/2/2022
0.1.110 389 11/1/2022
0.1.109 395 11/1/2022
0.1.108 418 10/28/2022
0.1.107 386 10/28/2022
0.1.106 408 10/28/2022
0.1.103 454 10/22/2022
0.1.101 429 10/17/2022
0.1.100 427 10/17/2022
0.1.99 470 10/17/2022
0.1.98 450 10/17/2022
0.1.97 463 10/13/2022
0.1.96 439 10/3/2022
0.1.94 444 9/26/2022
0.1.93 452 9/26/2022
0.1.92 468 9/26/2022
0.1.91 485 9/24/2022
0.1.90 475 9/24/2022
0.1.89 479 9/24/2022
0.1.88 446 9/21/2022
0.1.87 448 9/20/2022
0.1.86 468 9/20/2022
0.1.84 486 9/15/2022
0.1.83 465 9/15/2022
0.1.82 476 9/11/2022
0.1.81 469 9/10/2022
0.1.80 453 9/10/2022
0.1.79 483 9/10/2022
0.1.78 466 9/10/2022
0.1.77 467 9/7/2022
0.1.76 450 9/7/2022
0.1.75 477 8/30/2022
0.1.74 454 8/29/2022
0.1.72 442 8/27/2022