draham
Goto Top

Datenzugriff auf MS Access Datenbank

Hallo zusammen,

ich bin leider noch ein Frischling auf dem Gebiet und komme gerade mit der Internet Recherche nicht weiter.
Mein Ziel ist es, auf einen Teil einer Datenbank eines Kunden zuzugreifen. Dieser verwendet MS Access um seine Datenbank zu verwalten.
Das Vorgehen, welches ich mir als Laie gedacht habe wäre, der Kunde erstellt eine View mit den Spalten die wir verarbeiten dürfen und wir greifen über ODBC oder ähnliches auf diese Datenbank periodisch zu um in unserem Backend eine stets aktuelle Kopie davon zu generieren und anschließend zu verarbeiten.
Leider scheint es so, als wäre es nicht ohne Weiteres möglich auf eine lokale MS Access Datenbank über ODBC zuzugreifen.
Hat jemand eine Idee wie es realisierbar wäre, auf eine MS Access Datenbank von extern zuzugreifen? Bietet MS Access eine Möglichkeit, einen bestimmten Bereich bzw. eine bestimmte Datenbank von außen lesbar zu machen?

Danke und viele Grüße

DRAham

Content-Key: 608792

Url: https://administrator.de/contentid/608792

Printed on: April 25, 2024 at 14:04 o'clock

Member: erikro
erikro Sep 30, 2020 at 15:16:19 (UTC)
Goto Top
Moin,

wie geschieht denn der Zugriff? Über VPN? Lassen die Firewalls den Zugriff zu? Was heißt "lokale ... Datenbank"? Liegt die DB beim Kunden auf einem Server oder einem Client? Ist der View für den User, mit dem Ihr zugreifen wollt, freigegeben? Eigentlich ist der Zugriff per ODBC auf eine Access-DB möglich und genauso einfach wie bei jeder anderen DB. Daher vermute ich eher ein Problem in den Firewalls.

hth

Erik
Member: StefanKittel
StefanKittel Sep 30, 2020 at 15:23:56 (UTC)
Goto Top
Hallo,

eine Access-DB stellt häufig auch nur Daten einem (MS-) SQL-Server dar.
Dann würde Dich die Access-DB gar nicht interessieren.
Stichwort Front-Backend-Trennung.

Wo sind die Daten und wie bekomme ich Zugriff darauf.

Stefan
Member: wiesi200
wiesi200 Sep 30, 2020 at 15:57:31 (UTC)
Goto Top
Hallo,

sofern es sich wirklich um eine Access DB handelt und keine Trennung wie @StefanKittel beschrieben hat, vorhanden ist, Dann bin ich jetzt der Meinung und brauchst zusätzlich noch per SMB berechtigung auf die DB Datei.

Eine SQL DB wäre hier viel einfacher zu handhaben.
Member: Inf1d3l
Inf1d3l Sep 30, 2020 updated at 16:40:42 (UTC)
Goto Top
Man kann eine View auch in eine eigene accdb auslagern, die dann mit der eigentlichen DB verknüpft wird. Damit mehrere Zugriffe gleichzeitig auf die gleiche DB möglich sind, muss die Oberfläche von der DB getrennt werden. Auch muss der richtige OLEDB-Provider gewählt werden, je nach Access-DB-Version.

Zugreifen kann man z.B. per VBScript, hier ein Beispiel aus dem Internet:

Set objConn = CreateObject("ADODB.Connection")  

Set shell = CreateObject( "WScript.Shell" )  
folder=shell.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\Adersoft\Vbsedit\Resources\"  

objConn.open "Provider=Microsoft.ACE.OLEDB.16.0; Data Source=" & folder & "mydatabase.accdb"  

Set ors = objConn.Execute("select * from table1")  

DoWhile Not(ors.EOF)
  WScript.Echo ors("field1").Value  
  ors.MoveNext
Loop

ors.Close
Member: mbehrens
mbehrens Sep 30, 2020 at 19:13:09 (UTC)
Goto Top
Zitat von @DRAham:

Mein Ziel ist es, auf einen Teil einer Datenbank eines Kunden zuzugreifen. Dieser verwendet MS Access um seine Datenbank zu verwalten.

Welche Datenbank dahinter steht, wäre jetzt interessant ...

Das Vorgehen, welches ich mir als Laie gedacht habe wäre, der Kunde erstellt eine View mit den Spalten die wir verarbeiten dürfen und wir greifen über ODBC oder ähnliches auf diese Datenbank periodisch zu um in unserem Backend eine stets aktuelle Kopie davon zu generieren und anschließend zu verarbeiten.

Ja, so kann man das z. B. mit Hilfe eines MS SQL Servers machen.

Leider scheint es so, als wäre es nicht ohne Weiteres möglich auf eine lokale MS Access Datenbank über ODBC zuzugreifen.

MS Access und Datenbank in einen Satz face-smile

Bei entsprechenden Zugriffsrechten geht das z. B. via OLE DB recht schmerzfrei.

Hat jemand eine Idee wie es realisierbar wäre, auf eine MS Access Datenbank von extern zuzugreifen? Bietet MS Access eine Möglichkeit, einen bestimmten Bereich bzw. eine bestimmte Datenbank von außen lesbar zu machen?

Definiere in Deiner F# Anwendung z. B. eine passende OdbcConnection und führe dann mit Hilfe von OdbcCommand die gewünschten Operationen durch.