![]() |
VOOZH | about |
dotnet add package DubUrl.BulkCopy --version 0.29.34
NuGet\Install-Package DubUrl.BulkCopy -Version 0.29.34
<PackageReference Include="DubUrl.BulkCopy" Version="0.29.34" />
<PackageVersion Include="DubUrl.BulkCopy" Version="0.29.34" />Directory.Packages.props
<PackageReference Include="DubUrl.BulkCopy" />Project file
paket add DubUrl.BulkCopy --version 0.29.34
#r "nuget: DubUrl.BulkCopy, 0.29.34"
#:package DubUrl.BulkCopy@0.29.34
#addin nuget:?package=DubUrl.BulkCopy&version=0.29.34Install as a Cake Addin
#tool nuget:?package=DubUrl.BulkCopy&version=0.29.34Install as a Cake Tool
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
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
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>
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();
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
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 |
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))?$ |
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})$ |
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 |
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
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 | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on DubUrl.BulkCopy:
| Package | Downloads |
|---|---|
|
Packata.Provisioners
Packata is a library for consuming Data Package v2 files. The Packata.Provisioners package specializes in providing a relational engine on top of the content of the package. |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.29.34 | 880 | 8/19/2025 |
| 0.29.33 | 385 | 8/18/2025 |
| 0.29.32 | 394 | 8/17/2025 |
| 0.29.31 | 368 | 8/17/2025 |
| 0.29.30 | 321 | 8/16/2025 |
| 0.29.29 | 308 | 8/16/2025 |
| 0.29.28 | 316 | 8/16/2025 |
| 0.29.27 | 318 | 8/16/2025 |
| 0.29.26 | 491 | 8/6/2025 |
| 0.29.25 | 484 | 8/6/2025 |
| 0.29.22 | 470 | 8/5/2025 |
| 0.29.21 | 484 | 8/5/2025 |
| 0.29.19 | 477 | 8/5/2025 |
| 0.29.18 | 459 | 8/4/2025 |
| 0.29.14 | 479 | 6/18/2025 |
| 0.29.13 | 440 | 6/15/2025 |
| 0.29.12 | 433 | 6/14/2025 |
| 0.29.11 | 424 | 6/14/2025 |
| 0.29.9 | 439 | 6/14/2025 |
| 0.29.8 | 593 | 6/12/2025 |