SIARD Suite 2.2 - Datenbank Management Systeme

Die verschiedenen Datenbank Management Systeme (DBMS) werden in SIARD Suite hauptsächlich in den folgenden Bereichen unterschiedlich behandelt:

Zum Seitenanfang

JDBC-URL für die Verbindung zu einer Datenbank

SIARD Suite dokumentiert die Standard-JDBC-URL für die Verbindung zu einem unterstützten Datenbank Management System. Es gibt aber viele Variationen, wie DBMS Plattform- (z.B. Windows Login) oder Netzwerk- (z.B. Kerberos) Sicherheit in ihre Zugangskontrolle einbauen. An diesem Ort ist es unmöglich, jede Spezialität eines jeden DBMS einzeln zu dokumentieren. Solange eine für das DBMS akzeptable JDBC URL benutzt wird, kann mit SIARD Suite eine Verbindung zu einer Datenbank hergestellt werden. Für ausführliche Angaben zu akzeptablen JDBC URLs ist jeweils die Dokumentation des DBMS zu konsultieren.

MS Access
Die JDBC-Implementation für MS Access unterstützt nur einen einzigen Typ von JDBC URL: jdbc:access:<path to mdb/accdb>
DB/2
https://www.ibm.com/support/knowledgecenter/de/SSEPGG_9.7.0/com.ibm.db2.luw.apdv.java.doc/src/tpc/imjcc_r0052342.html
MySQL
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html
Oracle
http://docs.oracle.com/cd/B28359_01/java.111/b31224/jdbcthin.htm
PostgreSQL
https://jdbc.postgresql.org/documentation/head/connect.html
SQL Server
https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url

Wenn eine Verbindung zu einer Datenbank mittels SIARD Suite scheitert, kann als Erstes eine "native" Verbindung probiert werden, welche gänzlich ohne SIARD Suite aufgebaut wird. Wenn eine solche erfolgreich ist, mit der von den Verbindungsdaten abgeleiteten JDBC URL aber immer noch keine Verbindung zustande kommt, kann dieselbe JDBC URL mit SQuirreL ausprobiert werden.

Zum Seitenanfang

Umgang mit proprietären Datentypen

Die proprietären Datentypen werden in der jeweiligen JDBC-Hülle auf SQL:2008 Datentypen abgebildet. Die Abbildung ist in den Tabellen Jdbc<DBMS>-TypeInfo.ods im LibreOffice Calc Format im Ordner doc/datatypes dokumentiert.

Zum Seitenanfang

Vorbereiten einer Datenbank für das Herunterladen

SIARD Suite lädt alle Daten herunter, die für den Datenbank-User sichtbar sind, welcher für die Verbindung benutzt wird. Die Wahl eines geeigneten Datenbank-User bestimmt deshalb den Umfang der archivierten Datenbank. Oft steht ein geeigneter "technischer Datenbank-User" einer Datenbank-Anwendung zur Verfügung, mit der die Datenbank bewirtschaftet wird. Dieser hat normalerweise genau die Zugriffsrechte, die für die Archivierung der Datenbank benötigt werden.

Wenn jedoch kein solcher Datenbank-User verfügbar ist, sollte nicht der Datenbank-Administrator (database administrator, DBA, dbo, root, SYSTEM, sa, ...) für das Herunterladen benutzt werden. Denn dieser lesend Zugriff auf viele Systemtabellen und Tabellen aus anderen Datenbanken, die nicht archivert werden sollen. Stattdessen wird empfohlen, einen Datenbank-User zum Zweck der Archivierung zu erzeugen. Diesem Archvierungs-User sind Leseprivilegien auf alle Schemas, Tabellen, Views und Typen einzuräumen, die zur zu archivierenden Datenbank gehören. Die Dokumentation des DBMS gibt Auskunft, wie man einen User erzeugt und ih mit den notwendigen Privilegien ausstattet.

Wenn ein geeigneter Archivierungs-User bestimmt oder erzeugt wurde, kann das Herunterladen der Datenbank mit dessen Anmeldeinformationen vorgenommen werden.

Zum Seitenanfang

Vorbereiten einer Datenbank für das Hochladen

Für das Hochladen einer Datenbank in eine Instanz eines DBMS mit SIARD Suite müssen geeignete Datenbank-Schemas in der Zieldatenbank zur Verfügung stehen. Diese Schemas können dann in der Schema-Zuordnung im Dialog für das Hochladen (oder im Teil Schema-Zuordnung des Befehlszeile von SiardToDb) mit den Schemas im SIARD-Archiv assoziiert werden.

Idealerweise sind die Zielschemas leer. Es ist aber je nach Sicherheitsvorgaben beim DBMS nicht immer möglich, Schemas nach Belieben zu erzeugen oder auszuwählen. Wenn die Zielschemas nicht leer sind, werden die archivierten Daten nur hochgeladen, wenn entweder keine Namenskollisionen bei den Typen und Tabellen vorkommen, oder aber explizit die Option Überschreiben gewählt wurde.

Der Datenbank-User, dessen Anmeldeinformationen für das Hochladen benutzt werden, muss das Privileg haben, in den Zielschemas Typen und Tabellen zu erzeugen und Daten in diese Tabellen einzufügen. Die DBMS-Dokumentation gibt Auskunft, wie man Schemas erzeugt und wie man dem Datenbank-User die nötigen Privilegien einräumt. Bequemerweise nutzt man die Anmeldeinformationen des Datenbank-Administrators, sofern diese verfügbar sind. Denn dieser hat normalerweise alle notwendigen Privilegien. In diesem Fall sollte aber die Option Überschreiben nicht gewählt werden. Andernfalls ist das Risiko zu gross, dass wichtige Tabellen oder Typen im System überschrieben werden.