Office: (Office 2003) DB Architektur per Remote Zugriff

Helfe beim Thema DB Architektur per Remote Zugriff in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Klar kann man dann aus der ADP/ADE nicht mehr eine ODBC Verbindung zu einer anderen Datenquelle herstellen Warum nicht? ... die Lösung nanntest du... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von ElBirn, 15. Dezember 2008.

  1. DB Architektur per Remote Zugriff


    Warum nicht? ... die Lösung nanntest du bereits: Verbindungsserver
    Ein ADP ist doch nichts anderes als eine Umgebung die auf den SQL-Server mit OLEDB-Verbindung aufsetzt und sich eng in den SQL-Server anhängt.
    Eine C/S-Anwendung kann man aber genausogut mit einem mdb und SQL-Server machen. Der Vorteil der mdb-Variante: sie ist nicht nur auf SQL-Server beschränkt und man kann bei sauber Schichtentrennung auch andere DBMS verwenden.

    Dann versuche ich das einmal kurz zu ordnen. *wink.gif*

    adp ist im Prinzip so etwas wie mdb, nur dass es eng mit dem MSSQL-Server verdrahtet ist und statt Jet die den SQL-Server-OLEDB-Provider verwendet.
    Anm.: "Jet" ist das eigentlich Datenbanksystem von Access, denn Access ist genau genommen nur die Entwicklungs - und Laufzeitumgebung.

    odbc und oledb sind Schnittstellen für die Datenbankverbindung (dafür gibt es die Treiber für die unterschiedlichsten DBMS)
    adodb und dao sind Zugriffsbibliotheken, die die oben angeführten Schnittstellen nutzen und die Verwendung für den Programmierer angenehmer gestalten. (Anm.: DAO kennst du bereits, wenn du in der mdb-Anwendung mittels VBA auf verknüpfte Tabellen zugreifst. Das könntest du zwar auch mit ADODB machen, aber meisten wird DAO für de Zugriff auf Jet-Tabellen verwendet.

    fileserver ... stellt einen Dateispeicherbereich übers Netzwerk bereit. In so ein Netzwerkverzeichnis könnte ein mdb-Backend gelegt werden. Der Fileserver kümmert sich allerdings nicht um die Daten in diesem mdb-BE, sondern nur um die mdb-Datei. Die Daten holt sich die clientseitig installierte "Jet-Zugriffsmaschine".

    terminalserver ... damit kann man übers Netzwerk eine Art "Mini-PC" auf einem entfernten Rechner laufen lassen. (quasi ein Windows im Windows aber wo anders.*wink.gif*)

    ElBirn ... darüber kann ich keine Auskunft geben, "das" kenne ich zu wenig. *biggrin.gif*



    @IT-Profis: habt Nachsicht für die laienhafte Ausdrucksweise und die etwas unexakte Definition, aber das war mal ein Versuch die Begriffe ohne weitere Fachbegriffe zu veranschaulichen. *wink.gif*
     
    Josef P., 30. Januar 2009
    #46
  2. Sehr gut! Vielen Dank für die Erklärung!

    Habe aber noch ein paar Verständnisfragen:

    ADP setzt MS-SQL Server voraus. Mit adp kann ich eine DB mit auf einem SQL Server verbinden. ADP Projekt beim Client, SQL Server ist das BE bzw. die Datenbank?

    ADE ist einfach nur die kompilierte Datei einer ADP. Also gleiches Prinzip wie .mde und .mdb?

    ODBC sind Verbindungen zu einer Datenquelle. Der nutzen für Access besteht darin, dass auch Verbindungen zu anderen DB durchgeführt werden können, z.B. Oracle, richtig?

    MS SQL Software welche auf einem Server läuft um Datenbanken zu verwalten. Eigentlich nur sinnvoll bei großen oder mehreren DB.

    ACCDB ist die A2007 mdb.

    Fileserver ist einfach ein Datenträger auf dem man Dateien bereitstellt. Als könnte ein Fileserver dazu dienen, einfach eine mdb als BE darauf zu legen oder gar SQL Server installieren?

    TS und den Rest habe ich verstanden.

    Für meinen konkreten Fall also die Ausgangsfragestellung:
    5 dezentrale Nutzer die übers Internet auf die DB zugreifen wollen und maximal 2 gleichzeitig arbeiten. Dabei ist ein TS bereits vorhanden der auch die lokalen Laufwerke und Drucker einbindet. Access ist auch auf dem TS bereits installiert.

    Würde es im Grund zwei elegante Lösungen geben:
    1. TS mit FE/BE. Dabei erhält jeder User ein eigenes FE als mde und das BE ist einfach eine mdb.
    2. Fileserver mit MS SQL Server und beim Client entweder adp, ade oder mde als FE.

    Habe ich das jetzt richtig verstanden?

    Konkret würde ich eigentlich lieber Variante 1 wählen da ja bei der Variante 2 auch ein schöner Batzen $$$ für die Lizenz auf den Tisch gelegt werden muss.
     
  3. Der MSSQL-Server ist ein Datenbankserver - also eine Software, die mit Daten umgehen kann. (aber nicht nur mit einer Datenbank sondern mit mehreren. Außerdem stellt diese Software nicht nur die Daten aus den Tabellen bereit, sondern kann auch "Arbeitsaufträge" in Form von SQL-Anweisungen abarbeiten.

    Ja.

    ODBC ist eine Definition wie eine Verbindung zu einem DB-Server aussehen kann (soll). Für jeden DB-Server / jedes DBMS (Datenbankmanagementsystem) wie Oracle, MSSQL-Server, PostgreSQL, MySQL usw. gibt es passende ODBC-Treiber, die die allgemeine Definition der ODBC-Vorschriften an das jeweilige DBMS anpassen.

    Genau.

    Nicht unbedingt. Es gibt auch eine kostenlose Express-Version vom SQL-Server, die auch auf einem normalen Windows-PC installiert werden kann.

    ja

    ein Fileserver stellt nur Speicherplatz zur verfügung. Falls du aber mit "Fileserver" die Hardware meinst: Wenn der Fileserver z.B. ein Windows-Server-Betriebssystem nutzt, wäre es denkbar auch noch einen SQL-Server darauf zu installieren. (optimal ist so etwas nicht, aber bei kleinen Netzwerken sehe ich kein riesiges Problem dabei)

    "Übers Internet" kann eine Sicherheitslücke sein, wenn man die user direkt ins Netz lässt. Also würde ich erstmal keinen direkten Zugriff auf den SQL-Server aber auch nicht auf den TS zulassen, sonst "arbeiten" vielleicht auch noch andere mit. *wink.gif*
    Dafür sollte auf jeden Fall eine "sichere Verbindung" ins Intranet aufgebaut werden. Was man heutzutage für so etwas verwendet, kann ich dir aber nicht beantworten, dafür kenne ich mich zuwenig mit den Netzwerktechniken aus.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Josef P., 30. Januar 2009
    #48
  4. DB Architektur per Remote Zugriff

    Super, vielen vielen Dank für deine Ausführungen. Hat mir wirklich sehr geholfen.

    ...und was wäre der Vorteil?

    Aufgrund der Belastung?

    Ich denke der Zugriff auf den TS ist schon ziemlich sicher. Es wird ein Sicherheitszertifikat abgefragt und darüber hinaus noch die Login Daten. Ich denke das sollte passen.

    Viele Grüße
     
  5. Der Hauptvorteil von aktivem DBMS im Vergleich zu einem File-BE ist, dass ich SQL-Anweisungen im Server ausführen lassen kann.
    Ein weiterer wichtiger Vorteil für mich ist das Backup im laufenden Betrieb.

    Schau dich einmal ein wenig im AEK- und SEK-Download-Bereich von www.donkarl.com um. Dort sollten einige Vorträge zum Thema MSSQL-Server zu finden sein.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Josef P., 30. Januar 2009
    #50
  6. Vielen Dank.

    Das mit dem Backup ist in der Tat ein großer Vorteil. Mir ist es einmal passiert, dass alle Relations in BE zerschossen worden sind als ich eine Kopie des BE machen wollte und gleichzeitig noch user verbunden waren. Das war eine schöne schei..e.

    Mit den SQL-Anweisungen ist damit gemeint, dass auch z.B. die SQL Statements in der RecordSource von Formularen oder gar Abfragen auf dem SQL Server ausgeführt werden oder nur sog. "Stored Procedures"?

    Gruß & Vielen Dank
     
  7. Das hängt von der verwendeten Verbindungstechnik ab.

    Wenn du z.B. ein ADP verwendest, werden z. B. die SQL-Anweisungen der RecordSource vom Formular direkt als T-SQL-Anweisung für den Server verwendet.

    Wenn du eine mdb verwendest, dort eine SQL-Anweisung auf eine über ODBC verknüpfte Tabelle als Datenbasis für dein Formular verwendest, sorgt Jet über ODBC dafür, dass so viel wie möglich von der SQL-Anweisung im Server verarbeitet wird und nur der Rest wird von Jet verarbeitet. (Wenn du z.B. Access-spezifische Funktionen in die SQL-Anweisung einbaust, kann diese nicht übertragen werden und muss von Jet über den Expression service an VBA durchgereicht werden. ... wenn du dann so eine Funktion im Where-Ausdruck einbaust, kann es passieren, dass sehr viele Daten übertragen werden müssen, da der Server nicht vorfiltern konnte.)

    Ein weitere Möglichkeit (die ich sehr oft in einem mdb-FE nutze) ist eine ADODB/OLEDB-Verbindung zum Server aufzubauen und damit SQL-Anweisungen ausführen zu lassen und das daraus erhaltene Recordset an das Formular zu binden. Dann wird die SQL-Anweisung auch direkt an den Server übertragen und dort abgearbeitet.

    Unter Access gibt es dann noch die Möglichkeit eine Pass-Through-Abfrage auszuführen. Damit wird eine ODBC-Verbindung zum Server aufgebaut und die SQL-Anweisung ebenso direkt im Server abgearbeitet.

    Eines haben alle Varianten, bei denen der SQL-Server die SQL-Anweisung direkt abarbeitet gemeinsam: die SQL-Anweisung muss im T-SQL- und nicht im Jet-SQL-Dialekt geschrieben werden.

    Bei der Variante mit den verknüpften Tabellen wird Jet-SQL verwendet und Jet sorgt gemeinsam mit dem ODBC-Treiber dafür, dass diese SQL-Anweisung (oder zumindest Teile davon) vom Server verstanden werden.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Josef P., 30. Januar 2009
    #52
  8. DB Architektur per Remote Zugriff

    Super, vielen Dank für deine Mühe.

    Jetzt wird mir der Zusammenhang der ganzen Sachen deutlich.
     
Thema:

DB Architektur per Remote Zugriff

Die Seite wird geladen...
  1. DB Architektur per Remote Zugriff - Similar Threads - Architektur Remote Zugriff

  2. Laufzeitfehler 462....Der Remote-Server-exisitiert nicht oder ist nicht verfügbar.

    in Microsoft Excel Hilfe
    Laufzeitfehler 462....Der Remote-Server-exisitiert nicht oder ist nicht verfügbar.: Hallo, ich habe mit VBA eine Excel-Datei programmiert. In einer UserForm werden ein paar Daten eingegeben, die dann an WORD übergeben werden sollen. Hierzu soll WORD im Hintergrund geöffnet...
  3. Laufzeitfehler 462....Der Remote-Server-exisitiert nicht oder ist nicht verfügbar.

    in Microsoft Excel Hilfe
    Laufzeitfehler 462....Der Remote-Server-exisitiert nicht oder ist nicht verfügbar.: Hallo, ich habe mit VBA eine Excel-Datei programmiert. In einer UserForm werden ein paar Daten eingegeben, die dann an WORD übergeben werden sollen. Hierzu soll WORD im Hintergrund geöffnet...
  4. Remote arbeiten mit Microsoft 365

    in Microsoft Teams Tutorials
    Remote arbeiten mit Microsoft 365: Remote arbeiten mit Microsoft 365 Microsoft 365 für Mac Microsoft 365 für Windows Microsoft Teams OneDrive for Business Mehr... Weniger...
  5. VBA-Code wird nicht mehr ausgeführ beim beenden eines Remote-Desktops (Win10-Mai-Upd)

    in Microsoft Access Hilfe
    VBA-Code wird nicht mehr ausgeführ beim beenden eines Remote-Desktops (Win10-Mai-Upd): Hallo, kann jemand bestätigen das kein VBA-Code mehr ausgeführt wird wenn man das Windows 10 Mai Update installiert hat und den PC per Remotedesktop ferngesteuert hat (und danach die Verbindung...
  6. Der Remote-Server-Computer existiert nicht oder ist nicht verfügbar.

    in Microsoft Access Hilfe
    Der Remote-Server-Computer existiert nicht oder ist nicht verfügbar.: Hallo, ich versuche verzweifelt von Access aus ein Dokument in Word, welches einen Besuchsbericht für den aktuellen Accessdatensatz enthält zu öffnen. Documents.Open FileName:=Pfad & Datei Das...
  7. Übertragen Ihrer PowerPoint-Präsentation online an ein Remote Publikum

    in Microsoft PowerPoint Tutorials
    Übertragen Ihrer PowerPoint-Präsentation online an ein Remote Publikum: Übertragen Ihrer PowerPoint-Präsentation online an ein Remote Publikum PowerPoint für Microsoft 365 PowerPoint 2019 PowerPoint 2016 PowerPoint 2013 PowerPoint...
  8. Suchen Sie Hilfe, um remote arbeiten zu können? Wir bieten neuen Abonnenten sechs Monate lang ...

    in Microsoft Teams Hilfe
    Suchen Sie Hilfe, um remote arbeiten zu können? Wir bieten neuen Abonnenten sechs Monate lang ...: Kleine Unternehmen müssen sich an die gestiegene Nachfrage von Kunden anpassen, die remote arbeiten und sich virtuell mit ihren Benutzern verbinden. Neue Abonnenten von Microsoft 365 Business...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden