Import (wirklich IMPORT) von Access Daten

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

KUHoepcke
*
Beiträge: 10
Registriert: Di, 11.03.2008 22:09

Import (wirklich IMPORT) von Access Daten

Beitrag von KUHoepcke »

Hallo zusammen,
ich habe hier folgendes:
1. Eine ACCESS Datenbank
2. Ein OpenOffice / Base 3.2.1

Ziel ist es, die ACCESS DB in Base zu importieren, um sie dann dort, und evtl auch später qauf einem anderen Rechner mit Base weiter zu bearbeiten.
Datenbank zugreifen mit irgend so einer Fernverbindung... nein, ich möchte gern einen echten Import mit Konvertierung der Daten, um dann völlig von MS unabhänging zu sein. Kann mir einer das Brett von meinem Kopf entfernen? Wäre toll...

Gruß aus Cux: Kay-Uwe
Kay-Uwe aus Cuxhaven
Win XP pro SP3
OpenOffice aus Überzeugung!
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Import (wirklich IMPORT) von Access Daten

Beitrag von gogo »

1. Wenn Du noch keine Base-Datenbank hast: Leere Base-Datenbank erstellen
2. Eine neue (zweite) Base-DB erstellen mit der Option: "Verbindung zu einer bestehenden Datenbank herstellen" - Dabei die Access-Datenbank verbinden.
3. In der Verbundenen Datenbank eine Tabelle kopieren (Bearbeiten/Kopieren, [Strg]+C ...)
4. In der neuen Datenbank einfügen ... voilà

Das ganze geht auch per Drag und Drop. Du solltest in Deiner Access-Datenbank einen Primärschlüssel haben der den Felddatentyp:"AutoWert" hat, dieser wird dann automatisch der Primärschlüssel in Deiner neuen Base-Tabelle. Solltest Du die Meldung bekommen, dass Base einen Primärschlüssel erstellen soll/will klickst Du auf 'Nein' - Wie durch ein Wunder wird dann trotzdem nach dem Import das "AutoWert"-Feld zum Primärschlüssel ;)

Direktes Kopieren aus Access funktioniert 'nicht', da die Datentypen alle auf Text geändert werden.
Direktes Kopieren in der verbundenen Base-Datenbank funtioniert auch nicht, da die Tabelle wiederum in der verbundenen Datenbank (i.e. Access...) angelegt wird.

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
KUHoepcke
*
Beiträge: 10
Registriert: Di, 11.03.2008 22:09

Re: Import (wirklich IMPORT) von Access Daten

Beitrag von KUHoepcke »

Hallo Gogo,

das waren sicher 'ne Menge gute Tipps... leider gibt es aber noch immer ein Problem: Die Access-DB hat keinen Primärschlüssel. Und beim Kopieren in die neue OO Datenbank wird leider auch keine angelegt. Und ich kann mit meinen Bordmitteln auch irgendwie keinen anlegen. Wenn ich das versuche, kommt immer die Meldung, dass der Primärschlüssel keine 0 enthalten darf. Wie bekomme ich also jetzt Zahlen in dieses Feld? Alles hängt jetzt wohl an diesem Index... Ich glaub', die Frage ist, wie bekomme ich einen gültigen Primärschlüssen da rein?

Danke und

Gruß aus Cux: Kay-Uwe
Kay-Uwe aus Cuxhaven
Win XP pro SP3
OpenOffice aus Überzeugung!
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Import (wirklich IMPORT) von Access Daten

Beitrag von herz4 »

Guten Morgen,
eine Möglichkeit wäre das Kopieren der Tabelle in Base: Rechtsklick auf Tabelle, Kopieren, Rechtsklick, Einfügen, "Definition und Daten"!, neuen Namen vergeben, Primärschlüssel erzeugen anklicken, ID lassen und gleich auf fertigstellen - fertig. Hernach kann die alte Tabelle gelöscht und der neuen der alte Name verpasst werden.
Hilft's?
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Import (wirklich IMPORT) von Access Daten

Beitrag von gogo »

Einfach einen Primärschlüssel in Access hinzufügen:

Neues Feld machen: z.B. "ID_Adresse"
Dtaentyp: "Autowert"
Primärschlüsselsymbol in diese Zeile setzen
Tabelle speichern

fertig

Access ergänzt die Daten des Schlüssels automatisch...

@Herz4:
eine Möglichkeit wäre das Kopieren der Tabelle in Base: Rechtsklick auf Tabelle, Kopieren, Rechtsklick, Einfügen, "Definition und Daten"!, neuen Namen vergeben, Primärschlüssel erzeugen anklicken, ID lassen und gleich auf fertigstellen - fertig. Hernach kann die alte Tabelle gelöscht und der neuen der alte Name verpasst werden.
... geht auch, der Primärschlüssel wird aber dabei aber nicht als Autowert generiert (kann aber nachher auf "Autowert" = ja gestellt werden), und da KUHoepcke in der Tabelle keinen verwendet wird er auch kein großes Interesse daran haben ihn beim Anlegen jedes neuen Datensatzes selbst zu definieren.

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Import (wirklich IMPORT) von Access Daten

Beitrag von gogo »

nachdem hier ein Problem mit den Memofeldern von Access bekannt wurde (viewtopic.php?f=8&t=44728&start=0) bin ich dem nochmal nachgegangen:

Konfiguration: Access 2003 OOo 3.2.1

Memofelder und OLE-Felder werden beim beschriebenen Paste-Vorgang nicht korrekt angelegt. Tabellen mit Memofeldern lassen sich überhaupt nicht einfügen (Datentyp wird nicht ausreichend definiert), solche mit OLE-Feldern schon, allerdings werden Datensätze mit gefüllten OLE-Feldern NICHT importiert ... also ausgelassen. Ich hab zwar ein paar Sachen probiert, aber auch beim Einfügen scheint das Bild das sich im OLE-Feld befindet zerlegt zu werden evtl. funktioniert's ja für andere Feldinhalte.

Memofelder konnte ich per Kopieren einfügen, indem die Tabelle in Access ohne das Memofeld gespeichert wurde (am besten also in Access: Tabelle(1) kopieren und Tabelle(1)in Access einfügen. Im Dialog dann einen neuen Tabellennamen (Tabelle(2)) wählen und 'nur Struktur' als Einfügeoption wählen). In der Entwurfsansicht der neu erstellten leeren Tabelle (Tabelle(2)) die Memofelder löschen. Tabelle(2) speichern.

Dann in Base (in der Verbundenen Datenbank) diese Tabelle(2) auswählen und wie beschrieben in eine neue Datenbank kopieren (Tabelle(3)). In der neuen Datenbank die Tabelle(3) dann öffnen und die Memofelder händisch dazufügen, als Feldtyp "Memo [LongVarChar]" wählen und speichern.

In der Verbundenen Datenbank dann die mit Daten gefüllte Tabelle(1) kopieren und in der neuen Datenbank in der Tabellenauflistung die Tabelle(3) markieren und "Einfügen". Im Dialog dann "Daten anhängen" wählen und den Kopiervorgang starten (den Primärschlüssel natürlich nicht kopieren ;) ).

Die Memofelder werden dann korrekt importiert, allerdings nur kurze! ab einer gewissen Textlänge gibt's Fehler: Value too long in statement


Fazit:

Einfügen per copy/Paste für OLE-Felder nicht vernünftig möglich ...
Memofelder werden eingefügt mit korretem Inhalt, so lange der Text nicht zu lange ist
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Antworten