# Access DB Metainfo hinzufügen



## wersi77 (17. Aug 2015)

Hallo zusammen,

in meiner Anwendung arbeite ich mit einer Access-Datenbank. Hierbei würde ich gerne prüfen, ob die Version meiner Anwendung (z.B. 1.5.0) mit der Version der Datenbank (z.B. 1.5.0) übereinstimmt. Diese kleine Information würde ich gerne in der Datenbank hinterlegen, aber hierfür nicht unbedingt eine neue Tabelle eröffnen. Gibt es hier nicht eine Möglichkeit diese Information in einem Kommentarfeld, quasi als Metainformation zu hinterlegen?

Vielen Dank für Eure Hilfe


----------



## stg (18. Aug 2015)

Kannst du das einfach mittels http://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getDatabaseMajorVersion() abfragen?
Ich hab's selbst nie gemacht, daher weiß ich nicht, ob's funktioniert. Die Frage ist einfach, ob dein DB-Treiber die Funktionalität unterstützt


----------



## wersi77 (18. Aug 2015)

Leider war es so nicht ganz gemeint. Ich möchte lediglich eine kleine Information an der Datenbank hinterlegen, welche meine interne Version kennzeichnet.
Alte Version 1.0:
- Mein Programm benutzt 3 Tabellen (Kunde, Artikel, Bestellung) der Access DB
- AccessDB hat die benötigten (Kunde, Artikel, Bestellung) 3 Tabellen

Neue Version 2.0:
- Mein Programm benutzt nun 4 Tabellen (Kunde, Artikel, Bestellung, Reklamation) der Access DB
- AccessDB hat die benötigten (Kunde, Artikel, Bestellung, Reklamation) 4 Tabellen

Ich möchte nun lediglich sicherstellen, dass mein Programm die korrekte Version der AccessDB benutzt.
Diese Info sollte sich doch in der AccessDB hinterlegen lassen, oder?
Danke für weitere Ideen.


----------



## stg (18. Aug 2015)

Was spricht denn dann gegen eine passende Tabelle? Ich würde da einfach eine nach dem Key-Value-Prinzip für anlegen. In einer Zeile steht dann einfach ("version","1.5.0") oder was auch immer.  Da könntest du dann bei Bedarf auch nach und nach weitere System-Infos oder Konfigurationen ablegen.


----------



## wersi77 (18. Aug 2015)

Ja, das hatte ich auch schon überlegt.
Finde es aber etwas übertrieben für diese kleine Information eine komplette Tabelle zu nutzen.


----------



## wersi77 (18. Aug 2015)

Kann man das Kommentarfeld von Tabellen nicht mittels SQL befüllen? Im Access hat jede Tabelle eigene Properties mit einem Beschreibungsfeld. Das würde mir schon reichen, aber wie wäre dies zu befüllen und auszulesen?


----------



## stg (18. Aug 2015)

In Oracle z.B. werden die Table-Kommentare in USER_TAB_COMMENTS bzw ALL_TAB_COMMENTS abgelegt. Wo und wie das genau in Access gemacht wird, kann ich nicht sagen, aber vielleicht kannst du mit dieser Info ja trotzdem was anfangen und herausfinden, wo be dir die Kommentare stehen.

Wie auch immer, du schaffst damit jedenfalls hochgradig eine Abhängigkeit zur verwendeten Datenbank, das ist hier doch unnötig! Wieso sträubst du dich so gegen die Lösung mit der zusätzlichen Tabelle? Als Kommentar auf einer deiner Tabellen ist es jedenfalls doch sogar fehl am Platz, der Tabellen-Kommentar ist dazu gedacht Informationen über _diese eine_ Tabelle abzulegen! 
Sagen wir einfach mal du würdest deine Info als Kommentar auf der Tabelle _Kunde_ abspeichern. In der nächsten Version hast du aber nun nur noch eine Tabelle Person, in der du sowohl Kunden als auch Händler abspeicherst. Was passiert dann? Mit der zusätzlichen Tabelle bist du flexibler, datenbank-unabhängig und die Meta-Informationen sind streng getrennt von den eigentlichen Nutzdaten.


----------



## wersi77 (18. Aug 2015)

Ok, ein anderer Ansatz wäre die Tabellen und Felder zu prüfen.
Wie prüfe ich, ob die Tabelle KUNDE mit den Feldern ID und NAME vorhanden sind?


----------



## VfL_Freak (18. Aug 2015)

Moin,

https://www.google.de/search?q=sql+...-8&oe=utf-8&gws_rd=cr&ei=e__SVY6xNIWta8TVkpgJ 

Gruß Klaus


----------

