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 und Firebird 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 wird mit Hilfe eines Connection String definiert, 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=secret;Host=localhost;Database=Magellan7.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 und Firebird haben ich die entsprechenden Informationen hier zusammengetragen.
PostgreSQL
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
Parameter
Die ConnectionString-Parameter für MySQL sind in der MySqlConnector-Dokumentation gut dokumentiert.
Firebird
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 |
Artikelhistorie
- 20.05.2020
- Erstveröffentlichung
- 08.09.2020
- MySQL hinzugefügt