Wer mit ADO.NET auf Datenbanksysteme zugreifen möchte, muss jeweils die richtigen Verbindungsparameter kennen. In diesem Blog-Artikel habe ich für die Open-Source-Datenbanksysteme PostgreSQL, MySQL, MariaDB und Firebird sowie für ODBC die möglichen Verbindungsparameter zusammengesucht.
Diskussion
ADO.NET ist eine .NET-Klassenbibliothek für den Zugriff auf Datenbanksysteme. Der Zugriff auf die verschiedenen Datenbanksysteme wird dabei so gut es geht abstrahiert. Spätestens wenn man jedoch eine Verbindung zu einem bestimmten Datenbanksystem aufbauen möchte, wird man mit unterschiedlichen Verbindungsparametern konfrontiert.
Generell wird eine ADO.NET-Verbindung mit Hilfe eines Connection String initialisiert, dessen Syntax wie folgt lautet:
keyword1=value; keyword2=value;
Ein ConnectionString ist also schlicht eine Liste von Schlüssel-/Wert-Paaren. Ein Beispiel für einen Firebird-ConnectionString:
User ID=admin;Password=qwertz;Host=localhost;Database=MeineDb.fdb;charset=UTF8;
Das Problem ist nun, dass jedes Datenbanksystem zum Teil eigene Schlüssel-/Wert-Paare definiert und diese sind leider nicht immer gut dokumentiert bzw. aufzufinden. Für die Datenbanksysteme PostgreSQL, MySQL, MariaDB und Firebird sowie für ODBC habe ich die entsprechenden Informationen hier zusammengetragen.
PostgreSQL
Beispiele
Standard:
Server=localhost;Database=MeineDb;User ID=postgres;Password=qwertz;
Mit expliziter Port-Angabe:
Server=localhost;Port=5432;Database=MeineDb;User ID=postgres;Password=qwertz;
Parameter
Die ConnectionString-Parameter für PostgreSQL sind in der Npgsql-Dokumentation gut dokumentiert.
Aliase
Parameter | Aliase |
---|---|
Host | Server |
Database | DB |
Username | User Name, UserId, User Id, UID |
Password | PSW, PWD |
Kerberos Service Name | Krbsrvname |
MySQL
Beispiele
Standard:
Server=localhost;Database=MeineDb;Uid=admin;Pwd=qwertz;
Mit expliziter Port-Angabe:
Server=localhost;Database=MeineDb;Port=3306;Uid=admin;Pwd=qwertz;
Parameter
Die ConnectionString-Parameter für MySQL sind in der MySqlConnector-Dokumentation gut dokumentiert.
MariaDB
Die Verbindungsparameter für MariaDB sind kompatibel mit denen von MySQL.
Firebird
Beispiele
Standard:
Host=localhost;Database=c:\Data\MeineDb.fdb;charset=UTF8;User ID=admin;Password=qwertz;
Mit expliziter Port-Angabe:
Host=localhost;Database=c:\Data\MeineDb.fdb;charset=UTF8;Port=3050;User ID=admin;Password=qwertz;
Parameter
Die ConnectionString-Parameter für Firebird sind leider nirgendwo komplett beschrieben. Da bleibt nur der Blick in den Quelltext des Firebird ADO.NET Data Providers.
Parameter | Standard | Bermerkung |
---|---|---|
user id | Benutzername für Datenbankzugriff | |
password | Kennwort für Datenbankzugriff | |
role name | Benutzerrolle für Datenbankzugriff | |
data source | Hostname des Firebird-Servers | |
port number | 3050 | TCP-Port des Firebird-Servers |
initial catalog | Dateipfad zur Datenbank | |
character set | UTF8 | Zeichensatz der Datenbank |
dialect | 3 | |
packet size | 8192 | |
pooling | true | |
connection lifetime | 0 | |
min pool size | 0 | |
max pool size | 100 | |
connection timeout | 15 | |
fetch size | 200 | |
server type | 0 | =Default |
isolation level | 2 | =ReadCommitted |
records affected | true | |
enlist | true | |
client library | fbembed | |
cache pages | 0 | |
no db triggers | false | |
no garbage collect | false | |
compression | false | |
crypt key | ||
wire crypt | 1 | =Enabled |
Aliase
Parameter | Aliase |
---|---|
user id | userid, uid, user name, username |
port number | port |
data source | host, server, datasource |
password | user pasword, userpassword |
role name | role |
initial catalog | database |
character set | charset |
packet size | packetsize |
connection lifetime | connectionlifetime |
min pool size | minpoolsize |
max pool size | maxpoolsize |
connection timeout | connectiontimeout, timeout |
fetch size | fetchsize |
server type | servertype |
isolation level | isolationlevel |
client library | clientlibrary |
cache pages | cachepages, pagebuffers, page buffers |
no db triggers | nodbtriggers, no dbtriggers, no database triggers, nodatabasetriggers |
no garbage collect | nogarbagecollect |
compression | wire compression |
crypt key | cryptkey |
wire crypt | wirecrypt |
ODBC
Beispiele
Für MS SQL Server:
Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=MeineDb;
Für MS Access:
Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Data\MeineDb.accdb;Uid=Admin;Pwd=qwertz;
Für MS Excel:
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=c:\Data\MeineTabelle.xls;
Parameter
Die ConnectionString-Parameter für ODBC hängen vom verwendeten ODBC-Treiber (und dessen Version) ab:
Artikelhistorie
- 20.05.2020
- Erstveröffentlichung
- 08.09.2020
- MySQL hinzugefügt
- 19.08.2022
- ODBC hinzugefügt
- Beispiele
- 24.06.2024
- MariaDB hinzugefügt