Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) OOo2 LO3

Dieser Artikel beschreibt die Verbindung zu einer Microsoft-Access®-Datenbankdatei unter einem Windows®-Betriebssystem. Dabei bleibt der Datenbestand weiterhin in der Access-Datei und Sie benutzen OpenOffice.org nur als Frontend.

Auch wenn Sie Ihre Daten von einer Access-Datei in ein anderes Datenbankmanagementsystem wie MySql oder in die interne HSQL-Datenbank übertragen wollen, kann es erforderlich sein, zunächst eine Verbindung zu der MSA-Datenbankdatei herzustellen.

1. Allgemeines

Das hier beschriebene Vorgehen wurde unter WinXP Home und Win7 prof getestet. Andere Windows Versionen können in einzelnen Punkten eventuell ein anderes Vorgehen erfordern.

Die Beschreibung enthält noch eine Reihe zu klärender Punkte. Wer entsprechende Informationen hat, sollte sie hier ergänzen – wie bei einem Wiki üblich.

Unter einem Windows-Betriebssystem können Sie im allgemeinen auf die Tabellen der Access- Datenbank lesend und je nach Verbindungsart auch schreibend zugreifen. Die Access-Abfragen werden von OOo als Sichten dargestellt. Solche werden im Tabellencontainer eingeordnet. Die Ergebnistabellen dieser Sichten könne zwar benutzt werden, aber Sie können die zugrunde liegenden Definitionen nicht ansehen und nicht verändern. In OOo können neue Abfragen erstellt werden, diese gehören aber zur OOo-Verbindungsdatei und sind unter MS Access nicht verfügbar. Auf Formulare und Berichte von Access haben Sie von OOo aus gar keinen Zugriff, sondern müssen diese mit OOo neu erstellen.

Oft werden in Access über VisualBasic zusätzliche Funktionalitäten bereitgestellt. Solche Skripte sind unter OOo nicht direkt nutzbar. VisualBasic unterscheidet sich von StarBasic zwar nicht stark, aber das zugrunde liegende Objektmodell und die Programmierschnittstellen (die API) sind unterschiedlich. Skripte müssen daher neu geschrieben werden.

2. Voraussetzungen beim Betriebssystem

Der Dateityp MDB wird von MS Access 97 (Office 8) bis Access 2003 (Office 11) erzeugt. Dieser Dateityp arbeitet mit der Datenbank Engine „Jet 4.0“ zusammen. Der Dateityp ACCDB wird von MS Access 2007 (Office 12) benutzt. Diese Version arbeitet mit einer für Office 2007 modifizierten Jet Datenbank Engine, genannt „Access Database Engine“ (ACE).

Die Versionen sind nicht kompatibel. Zum Beispiel gibt es beim Dateityp ACCDB keine benutzerbezogenen Sicherheitseinstellungen mehr, anderseits gibt es nun die Möglichkeit, Anhänge in die Datenbank aufzunehmen.

Beide können mit „ODBC driver“ oder „OLE DB Provider“ gesteuert werden. Falls Ihnen für MDB-Datenbankdateien die nötigen Windows-Dateien fehlen (z.B. in Win98), können Sie diese von Microsoft herunterladen http://msdn2.microsoft.com/en-us/data/aa937730.aspx. Sie benötigen u.U. „Jet 4.0 Service Pack“ und „Microsoft Data Access Components (MDAC)“. In WinXP sind sie schon enthalten. Für ACCDB-Dateien benötigen Sie u.U „2007 Office System Driver: Data Connectivity Components“. Diese Dateien sind auch in WinXP nicht automatisch enthalten. Geben Sie AccessDatabaseEngine ohne Leerzeichen in das Suchfeld des Download-Centers von Microsoft ein. Nach dem Installieren ist ein Neustart erforderlich.

3. Verbindungsart festlegen (Assistent Schritt 1)

Starten Sie den Datenbank-Assistenten mit Datei → Neu → Datenbank oder über den Eintrag OpenOffice.org Base im Startmenü oder Datenbank im Schnellstarter.

Wählen Sie im ersten Schritt die Option Verbindung zu einer bestehenden Datenbank herstellen.

Klappen Sie die Auswahlliste auf. Sie können die Einträge Microsoft Access, ADO oder ODBC benutzen. Die weiteren Schritte richten sich nach der gewählten Verbindungsart. Wenn die Verbindung fertiggestellt ist, wird die benutzte Verbindungsart links unten in der Statusleiste angezeigt.

4. Verbindung einrichten (Assistent Schritt 2)

4.1. Microsoft Access

Dateityp MDB
Auf der zweiten Seite des Assistenten wählen Sie die MDB-Datei aus. OOo benutzt eine ADO-Verbindung in der für alle weiteren Parameter Standardwerte gesetzt werden. Wenn die Datenbank über ein Kennwort geschützt ist, können Sie diese Methode daher nicht benutzen.
Dateityp ACCDB

Die vereinfachte Handhabung durch die Option Microsoft Access steht für das Format ACCDB noch nicht zur Verfügung.

4.2. ADO

Auf der zweiten Seite des OOo-Datenbank-Assistenten geben Sie die Datenquellen-URL ein. Damit ist jedoch nicht der Pfad zu Ihrer Access-Datenbankdatei gemeint, sondern eine sogenannte „Verbindungszeichenfolge“ (engl. connection string).

4.2.1. Verbindungszeichenfolge generieren

Wenn Sie die Verbindungszeichenfolge nicht kennen, klicken Sie rechts auf Durchsuchen. Dadurch wird der „Universal Data Link (UDL) Wizard“ von Microsoft aufgerufen. Es erscheint ein Dialogfenster mit der Titelleiste Datenverknüpfungseigenschaften. Die Dialogseiten Provider, Verbindung, Erweitert und Alle können in beliebiger Reihenfolge benutzt werden. Wenn Sie den Dialog beenden, steht in dem Eingabefeld Datenquellen-URL die durch den UDL-Assistenten konstruierte Verbindungszeichenfolge.

4.2.1.1. Dialogseite Provider

Dateityp MDB

Wählen Sie Microsoft Jet 4.0 OLE DB Driver.

Dateityp ACCDB

Wählen Sie Microsoft Office 12.0 Access Database Engine OLE DB Provider.

4.2.1.2. Dialogseite Verbindung

Dateityp MDB

Tragen Sie absoluten Pfad und Dateiname Ihrer MDB-Datei ein oder klicken Sie auf die -Schaltfläche, um die Datei im Dateiauswahlfenster herauszusuchen.

Wenn Sie zu Ihrer Datenbankdatei eine Benutzerverwaltung besitzen, tragen Sie hier den Benutzer ein, ansonsten lassen Sie die Voreinstellung Admin stehen. Der Benutzername „Admin“ wird auch auf deutschen Systemen benutzt, obwohl es in der Benutzerverwaltung selbst „Administrator“ heißt. Lassen Sie auch die Option Kein Kennwort stehen; ein solches hier einzutragen, funktioniert nicht.

Dateityp ACCDB

Tragen Sie absoluten Pfad und Dateinamen ihrer ACCDB-Datei ein. Einen Dateiauswahldialog gibt es leider nicht. Der Dateityp ACCDB kennt keine Benutzerverwaltung mehr. Lassen Sie die Voreinstellungen auf Benutzer Admin und Option Kein Kennwort stehen.

4.2.1.3. Dialogseite Erweitert

Auf der Dialogseite Erweitert können Sie den Zugriff auf die Access-Dateibankdateien einschränken. Als Standardwert wird auch ohne Auswahl der Modus read/write benutzt.

4.2.1.4. Dialogseite Alle

Hier können Sie weitere Initialisierungen für den OLE DB Provider setzen. Informationen dazu finden Sie bei Microsoft.

Beispiele:

Gehen Sie zum Schluss zur Seite Verbindung und testen Sie die Verbindung. Wenn Sie eine Fehlermeldung erhalten, müssen Sie den Fehler unbedingt beseitigen, sonst ist eine Verbindung nicht möglich. Beenden Sie den UDL-Assistenten mit OK.

Nun befinden Sie sich wieder bei OOo. Mit Weiter gelangen Sie zu Benutzer Authentifizierung einrichten.

4.3. ODBC

Auf der zweiten Seite des OOo-Datenbank-Assistenten tragen Sie den Namen der ODBC-Datenquelle ein. Mit Durchsuchen erhalten Sie eine Liste der vorhandenen ODBC-Datenquellen.

4.3.1. ODBC Datenquelle einrichten

Falls Sie die Access-Datenbankdatei noch nicht als ODBC-Datenquelle eingerichtet haben, klicken Sie auf Durchsuchen und dann auf Verwalten. Sie gelangen in den Microsoft Dialog „ODBC-Datenquellen-Administrator“. In WinXP wie unter Win7 können Sie denselben Dialog auch schon vorab über Systemsteuerung → Verwaltung → Datenquellen (ODBC) aufrufen.

Wählen Sie eines der DSN-Register und klicken dann auf Hinzufügen. Benutzen Sie die Microsoft-Hilfe, um zu entscheiden, welche DSN-Version für Sie richtig ist.

Dateityp MDB

Wählen Sie einen der Microsoft Access Driver aus und klicken auf Fertig stellen.

Dateityp ACCDB

Wählen Sie Microsoft Access Driver (*.mdb *.accdb) und klicken auf Fertig stellen.

In nächsten Dialogfenster ODBC-Setup für Microsoft Access legen Sie den Datenquellennamen fest. Das ist die Bezeichnung, die später in der Auswahlliste angezeigt wird.

Über die Schaltfläche Auswählen erhalten Sie einen Dateiauswahldialog, um die Datei herauszusuchen.

Dateityp MDB

Wenn Sie zu Ihrer Datenbankdatei eine Benutzerverwaltung besitzen und nicht „Admin“ sondern ein anderer Benutzer auf die Datenbankdatei zugreifen soll, wählen Sie im Abschnitt Systemdatenbank die Option Datenbank. Mit der Schaltfläche Systemdatenbank… öffnen Sie einen Dateiauswahldialog. Unter WinXP ist die anzuwählende Datei normalerweise c:\Windows\System32\system.mdw.

Wenn die Access-Datenbankdatei durch Kennwort geschützt ist, können Sie auf die Schaltfläche Erweitert klicken und es dann unter Kennwort eintragen. Das Kennwort ist dann allerdings in den ODBC-Verbindungsinformationen gespeichert, weshalb davon abzuraten ist. Das Feld Benutzername lassen Sie leer.

Unter Erweitert sowie unter Optionen>> finden Sie noch weitere Einstellungen für die ODBC-Verbindung. Dort könnten Sie z.B. die Öffnungsart „exklusiv“ markieren. Dann können Sie aber unter OOo keine Tabellen ausblenden.

Verlassen Sie die Dialoge mit OK bis Sie wieder im OOo Dialog Datenquelle sind. Dort sollte jetzt die neue Datenquelle in der Liste aufgeführt sein. Wählen Sie diese aus und klicken Sie auf OK. → Weiter

5. Benutzerauthentifizierung (Assistent Schritt 3)

5.1. ADO

Lassen Sie die Felder frei. Testen Sie die Verbindung. → Weiter

5.2. ODBC

Wenn Ihre Access-Datenbankdatei Kennwort geschützt ist und Sie das Kennwort nicht schon bei den ODBC Verbindungsdaten eingetragen haben, markieren Sie hier Kennwort erforderlich.

Dateityp ACCDB

Dieser Dateityp kennt keine Benutzerverwaltung, lassen Sie das Feld Benutzernamen leer.

Dateityp MDB
Wenn ein andere Benutzer als „Admin“ mit der Datenbankdatei arbeiten soll, tragen Sie ihn hier ein. Ansonsten lassen Sie das Feld leer.

Testen Sie die Verbindung. Gegebenenfalls müssen Sie nun das Kennwort eintragen. → Weiter

6. Fertigstellen und Fortfahren (Assistent Schritt 4)

Wollen Sie die Datenquelle in anderen Office-Modulen benutzen, z.B. für Serienbriefe, müssen Sie die Option Ja, die Datenbank soll angemeldet werden auswählen. Nach Klick auf Fertig stellen legen Sie Dateiname und Speicherort der OOo-Datenbankverwaltungsdatei fest. Dann können Sie in der Datenbank arbeiten.

7. Eigenschaften der Verbindungen

7.1. Tabellenzugriffe

Dateityp MDB

Sie können die Daten in den Tabellen ändern und Datensätze hinzufügen oder löschen. Obwohl Extras → Benutzerverwaltung aufrufbar ist, ist auch bei einer ADO-Verbindung keine Benutzerverwaltung möglich. Unter einer ODBC-Verbindung kann der Menüpunkt nicht aufgerufen werden.

Dateityp ACCDB
Bei einer ADO-Verbindung können Sie die Tabellen nur lesen, schreiben ist nicht möglich. Es ist noch nicht klar, ob die Ursache dafür bei OOo liegt. Bei einer ODBC-Verbindung haben Sie Lese- und Schreibzugriff auf die Tabellen.

Sie können Tabellen neu anlegen. Aber eine Veränderung der Tabellenstruktur ist bei beiden Verbindungsarten nicht möglich, auch nicht bei neu angelegten Tabellen.

7.2. Feldtypen

Hier müssten einige Informationen zusammengetragen werden.

8. Offene Fragen

Was bewirken die Share-Einträge in der ADO Verbindungszeichenfolge. Funktionieren Sie wie in MSDN beschrieben?

Kann man die Arbeitsgruppen Informationsdatei system.mdw auf einen anderen Rechner transferieren?

Welche Konsequenzen haben die diversen Einstellungen bei ADO bzw. ODBC?

In welchen Situationen werden bei einer ADO-Verbindung die Einträge bei der Benutzeridentifizierung benötigt? Benutzername und Kennwort stehen doch eigentlich schon in der Verbindungszeichenfolge?

Lässt sich die Tabellenstruktur durch direkte SQL-Befehle ändern?

Lässt sich die Benutzerverwaltung von MDB-Dateien über direkte SQL-Befehle ansprechen?

Welche Unterschiede bestehen zwischen ADO-Verbindung und ODBC-Verbindung hinsichtlich der möglichen SQL-Befehle?

Wie ist die Performance bei großen Tabellen?

Werden Beziehungen zwischen den Tabellen erkannt und korrekt behandelt?

Funktioniert der in MS Access erstellte Index?

Kann man von OOo aus, z.B. mit Makros, auf die Anhänge einer ACCDB-Datei zugreifen?

Gibt es Probleme mit den Feldformaten?

9. Siehe auch


KategorieBase


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28