MS Access Datenbankverknüpfung auf MySQL erstellen
Eine kleine Vorgeschichte:
Wir setzen eine MS Access Applikation ein, welche auf einem schreibgeschützten Netzlaufwerk liegt. Nur ein Sachbearbeiter hat schreibenden Zugriff.
Dieser Mitarbeiter hat die Datenbank den ganzen Tag offen und sperrt diese (dank der schreibgeschützen .ldb Datei) für die anderen User.
Nun hatte ich folgende Idee:
Ich möchte die Daten aus der Access Applikation in eine MySQL Datenbank auslagern und die Lese- bzw. Schreibberechtigungen auf Datenbankebene steuern.
Das funktioniert soweit auch.
Meine Frage ist nun, wie ich die MySQL Tabellen in Access verknüpfe ohne bei jedem User eine ODBC Schnittstelle erstellen zu müssen.
Erschwerend kommt dazu, dass die User keine lokalen Adminrechte besitzen und somit eine automatisierte Erstellung der Datenquelle nicht möglich ist.
Vielen Dank für eure Hilfe
Gruß
Cadel
Wir setzen eine MS Access Applikation ein, welche auf einem schreibgeschützten Netzlaufwerk liegt. Nur ein Sachbearbeiter hat schreibenden Zugriff.
Dieser Mitarbeiter hat die Datenbank den ganzen Tag offen und sperrt diese (dank der schreibgeschützen .ldb Datei) für die anderen User.
Nun hatte ich folgende Idee:
Ich möchte die Daten aus der Access Applikation in eine MySQL Datenbank auslagern und die Lese- bzw. Schreibberechtigungen auf Datenbankebene steuern.
Das funktioniert soweit auch.
Meine Frage ist nun, wie ich die MySQL Tabellen in Access verknüpfe ohne bei jedem User eine ODBC Schnittstelle erstellen zu müssen.
Erschwerend kommt dazu, dass die User keine lokalen Adminrechte besitzen und somit eine automatisierte Erstellung der Datenquelle nicht möglich ist.
Vielen Dank für eure Hilfe
Gruß
Cadel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 143015
Url: https://administrator.de/contentid/143015
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
Grüße aus Rostock
Wolfgang
(Netwolf)
Grüße aus Rostock
Wolfgang
(Netwolf)
Ich möchte die Daten aus der Access Applikation in eine MySQL Datenbank auslagern und die Lese- bzw. Schreibberechtigungen
auf Datenbankebene steuern.
das geht mit Access genau so gut, wenn man die Access-Applikation in Front- und Backend trennt. Lokal hat der User dann das Frontend und greift auf die Tabellen im Backend zu.auf Datenbankebene steuern.
Meine Frage ist nun, wie ich die MySQL Tabellen in Access verknüpfe ohne bei jedem User eine ODBC Schnittstelle erstellen zu
müssen.
wie soll das gehen? Ohne ODBC -> keine Verbindung.müssen.
Erschwerend kommt dazu, dass die User keine lokalen Adminrechte besitzen und somit eine automatisierte Erstellung der Datenquelle
nicht möglich ist.
per GPO ist das ohne weiteres möglich, wenn du einen Server hast. Lese z.B. hier ODBC Connection kopieren - Sichern!?nicht möglich ist.
Grüße aus Rostock
Wolfgang
(Netwolf)
Grüße aus Rostock
Wolfgang
(Netwolf)
Hallo Cadel,
1. der Ordner mit dem Backend hat entsprechende Rechte
2. Eine "lesende" und eine "lesen/schreiben" Version des Frontends erstellen
3. Access interne Benutzerverwaltung verwenden
4. Eine lese/schreib Berechtigung im Frontend anhand des Netzwerk-Benutzernamens programmieren
zu 4. kleines Beispiel mit einer Zeile Code (pro Formular):
Private Sub Form_Current()
Me.AllowEdits = IIf(CurrentUser() = "Chef",TRUE,FALSE)
End Sub
Ein kleiner Auszug:
Mit der OpenConnection-Methode können Sie aus einem ODBC-Arbeitsbereich eine Verbindung zu einer ODBC-Datenquelle herstellen. Die OpenConnection-Methode ähnelt der OpenDatabase-Methode. Der wichtigste Unterschied besteht darin, dass OpenConnection nur in einem ODBCDirect-Arbeitsbereich verfügbar ist.
Du kannst den Treiber mit dem Frontend pro Arbeitsplatz ausliefern, und per Batch (oder auch über Access) installieren lassen. RUNAS.exe http://www.winfaq.de/faq_html/Content/tip1000/onlinefaq.php?h=tip1010.h ... dürfte dir dabei eine Hilfe sein.
Grüße aus Rostock
Wolfgang
(Netwolf)
und wie soll das mit der Lese- bzw. Schreibberechtigung funktionieren? Nach meinem Verständnis hätten dann wieder alle
User die Möglichkeit die Daten zu ändern.
da gibt es viele Möglichkeiten:User die Möglichkeit die Daten zu ändern.
1. der Ordner mit dem Backend hat entsprechende Rechte
2. Eine "lesende" und eine "lesen/schreiben" Version des Frontends erstellen
3. Access interne Benutzerverwaltung verwenden
4. Eine lese/schreib Berechtigung im Frontend anhand des Netzwerk-Benutzernamens programmieren
zu 4. kleines Beispiel mit einer Zeile Code (pro Formular):
Private Sub Form_Current()
Me.AllowEdits = IIf(CurrentUser() = "Chef",TRUE,FALSE)
End Sub
Naja, zum Beispiel kann jede anständige Programmiersprache einen DB Connect per libmysql.dll realisieren.
Geht das mit Access auch irgendwie?
Google ist mir hierbei keine große Hilfe.
ich denke, die VBA Referenz in Access wäre da auch die richtige Stelle zum suchen:Geht das mit Access auch irgendwie?
Google ist mir hierbei keine große Hilfe.
Ein kleiner Auszug:
Mit der OpenConnection-Methode können Sie aus einem ODBC-Arbeitsbereich eine Verbindung zu einer ODBC-Datenquelle herstellen. Die OpenConnection-Methode ähnelt der OpenDatabase-Methode. Der wichtigste Unterschied besteht darin, dass OpenConnection nur in einem ODBCDirect-Arbeitsbereich verfügbar ist.
Stellt sich mir nur noch die Frage, wie ich das mit domänenfremden Rechner realisiere und wie ich den MySQL Treiber ohne Installation rein bekomme.
Du kannst den Treiber mit dem Frontend pro Arbeitsplatz ausliefern, und per Batch (oder auch über Access) installieren lassen. RUNAS.exe http://www.winfaq.de/faq_html/Content/tip1000/onlinefaq.php?h=tip1010.h ... dürfte dir dabei eine Hilfe sein.
Grüße aus Rostock
Wolfgang
(Netwolf)