Hallo liebe Leute,
ich habe diesmal eine Word-Datei auf mein IIS7-Verzeichnis (inetpub/wwwroot) abgelegt. Ich kann über Internet mit meiner IP-Adresse die Datei öffnen, aber nicht mehr verändern.
1. Soll ich was programmieren? Was ist zu machen?
2. Warum habe ich keinen Fernzugriff auf meinen IIS7-Server von jedem beliebigen Ort? Wie kann ich realisieren?
3. Wenn ich aber die Access-Tabelle aufteile (in Frotend und Backend) und die Beide unter Verzeichnis "wwwroot" ablege, dann kann ich die Daten in der Access-Tabelle ändern und aktualisieren. Warum?
Danke für eure Unterstützung.
Grüß
cp2010
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
1. Nein, geht nicht. Die Word-Datei kannst du zwar herunterladen, aber über HTTP nicht wieder hochladen.
Du müsstest den Nutzern eine Möglichkeit programmieren Änderungen wieder auf den Server hochzuladen.
2. Indem du dir eine feste IP vergibst oder z.B. dyndns benutzt und Port 80 freigibst.
3. Bin kein Access Kundiger, kann mir aber vorstellen dass das Access-Frontend diese Funktionalität mit sich bringt.
Gruß
IDE
Hallo IDE,
danke für die Antwort.
1. Ich weiß nicht, wie es geht?
2. Soll ich zuerst die feste IP-Adresse im Router oder EasyBox eintragen? Soll ich nochmal in den Eigenschaften der Lanverbindung, die neue IP-Adresse und ... einzugeben?
Gruß
cp2010
1. Ich kenn keine Möglichkeit eine Datei in den IIS hochzuladen ohne den Upload serverseitig zu implementieren.
Du wirst nicht darumrumkommen z.B. mit ASP.NET ein Uploadpanel zu programmieren.
Um dir ein Tutorial zu empfehlen, müsste man wissen was du mit der Word-Datei genau vorhast.
2. Die IP kannst du nicht fest eintragen, Sie wird von deinem Provider vergeben. Wenn du keine feste IP von deinem Provider hast,
kannst du einen Dienst wir DynDNS nutzen, welcher immer auf deine aktuelle IP zeigen wird. Dazu musst du noch den Port 80 deines
Computers freigeben, damit andere auf deinen IIS kommen.
Gruß
IDE
Hallo IDE,
1. Mit der Word-Datei war es eine beispiel, ich dachte, daß ich den Inhalt der
Datei ändern kann.
2. Problem: ich habe meine Access-Tabelle aufgeteilt, Backend auf den Server und Frontend auf den
Benutzerseiten( 3-Benutzern) abgelegt, es funktionert, aber ich weiss nicht, wie ich die Aufgabe
realisieren sollte, wenn ein Benutzer von einem beliebiegen Ort die Tabelle aktualisieren möchte,
naturlich geht es dann über's Internet, oder?
3. Bei der Tabellenaufteilung muss Du den Speicherort der Bakend-Tabelle auf den Server eingeben,
was soll ich eingeben, wenn ich mich in einem anderen Ort befinde? Das ist mein Hauptproblem,
deswegen versuche ich über IIS die Aufgabe zu lösen, und habe ich soweit keine andere Lösung.
Dank Dir.
Gruß
cp2010
Bei der Tabellenaufteilung muss Du den Speicherort der Bakend-Tabelle auf den Server eingeben,
Was für einen Speicherort gibst du an, damit es bei dir funktioniert?
Gruß
IDE-ATAPI
Guten Morgen,
es gibt einen Server im Büro , über "Netzlaufwerk verbinden" mache ich die Verbindung mit dem Server, gebe dann bei der
Tabellenaufteilung den Pfad ein, das ist der Speicherort auf den Server.
Wie sieht aber eine Fernzugriff auf disen Server aus, wenn jemand außerhalb des Büros ist?
Gruß
cp2010
Mit "Netzwerklaufwerk verbinden" gehst du über das netBIOS Protokoll (Port 139) - das ist
was eklatant anderes wie der IIS, der geht über HTTP.
Das netbios Protokoll ermöglicht quasi eine direkte Verbindung wie ein Laufwerk - man kann mit den entsprechenden
Rechten lesen und schreiben - also auch Änderungen wie im Beispiel an deiner AccessDB "hochladen".
Der IIS ist aber ein Internet Server und beherrscht nur HTTP - HTTP erlaubt per Definition keine Änderungen am Dateisystem von Haus aus.
Du könntest zwar das Netbios Protokoll fürs Internet freischalten - wundere dich aber dann bitte nicht wenn dir dein Systemadministrator
versucht an den Hals zu gehen :) Schlechter Stil, du gibst quasi dein ganzes LAN dem Internet frei.
Was du machen könntest wäre ein Upload dieser Datei auf den IIS via FTP, das würde gehen.
Aber ganz ehrlich, das sind Frickel-Lösungen.
Professionell würde man das z.B. mit SQL Server und ASP.NET oder z.B. MySQL / JSF etc. realisieren.
Gruß
IDE
Hallo,
1. Wenn ich mit ASP.Net realisiere, muss ich mein Datenbankprogramm komplett neu schreiben und strukturieren? Mit den IIS-Server wollte ich eigentlich den gesammten Programmieraufwand sparen.
2. Können dann(mit ASP.NET) mehrere Personen gleichzeitig über's Internet das Programm bearbeiten und aktualisieren?
Viele Grüße
cp2010
1. Was meinst du mit "Datenbank Programm"? Wenn du damit ein Formular in Access meinst, ja.
Wenn du die AccessDB schon mittels z.B. C# ansprichst, dann nicht.
Über ADO.NET (Datenbank-Zugriffsschicht) des .NET Frameworks geht das Ansprechen
der AccessDB so:
http://www.c-sharpcorner.com/UploadFile/mimrantaj/Database102102008130743PM/Database1.aspx
Ist zwar ein Windows Forms Programm, verdeutlicht aber wie einfach es ist auf die AccessDB unter C# zuzugreifen.
2. Ja, Vorraussetzung ist eine GUI in der die Daten eingegeben werden können. Im Prinzip
wäre das so ein Porgramm mit GUI wie im Beispiel von Punkt 1, nur als Webseite.
Gruß
IDE
Hallo IDE,
1. Ich rede über AccessDB mittels C#.
2. Es ist mir nicht klar und habe ich mich damit nicht beschäftigt. Ich brauche mehr info zur Realisierung.
3. Kann ich meine Windows-Forms von Visual C# in GUI integrieren? Mein Programm in Visual C# mit Access funktionert und habe ich kein
Problem.
Gruß
cp2010
Problem.
Visual C# in GUI integrieren?
Du verwechselst etwas Grundlegendes.
Visual C# = Programmiersprache
Windows Forms = Programmierschnittstelle um Windows Dekstop Programme (mit z.B. C#) zu erstellen
ASP.NET = Programmierschnitstelle um Webseiten (mit z.B. C#) zu erstellen
GUI = Graphical User Interface, Grafische Benutzeroberfläche
Ich wollte damit sagen du musst deine Windows Forms Oberfläche als Webseite umschreiben.
"Kann ich meine Windows-Forms von Visual C# in GUI integrieren? Mein Programm in Visual C# mit Access funktionert und habe ich kein
Problem."
Ja das funktioniert, aber nur im LAN. s. Beitrag unten. Wenn du User aus dem Internet darauf zugreifen lassen willst, geht es mit Windows Forms nicht mehr.
Gruß
IDE
Hallo IDE,
1 Ich möchte nochmal erklären, was ich vorhabe. Ich möchte mein C# Programm mit Access-DB (Frontend) auf 4-Benutzerrlaptops installiere,
und Backend-Tabelle auf einen externen Server ablege, damit die Personen, die mit dem Programm von unterschiedlichen Orte arbeiten,
ihre Frontend-Tabelle durch Backend-Tabelle aktualisieren können.
Mein Programm läuft nicht auf den Server, sondern auf jeden Benutzerlaptops. Ich könnte im Büro mit vier Laptops realisieren. Die Datenbank(Backend), wie ich heute geschrieben habe, habe ich auf unseren internen Server abgelegt.
Gruß
cp2010
Wenn ich dich richtig verstanden habe, willst du mit einem Windows-Forms C# Programm, welches auf eine AccessDB zugreift, in einem lokalen Netzwerk mit mehreren Benutzern arbeiten.
Das müsste eigentlich gehen. Die 4 Rechner müssen in einem Netz sein. Der ConnectionString muss dann in der App.Config auf einen UNC-Pfad (Netzwerklaufwerk/Freigabe) des internen Servers zeigen, auf welche die Datenbank liegt. UNC Pfad wäre z.B. \\SERVER\Freigabe
Diese Konstellation funktioniert aber nur wenn sich dein C# Programm und das Access File in einem lokalen Netzwerk befinden.
Wenn du Benutzer übers Internet auf dein Windows-Forms Programm lassen willst, wird das nicht funktionieren. Windows Forms ist nicht fürs Internet gedacht.
Daher die Möglichkeit:
Du schreibst dein Windows Forms Programm um zu einer Webseite. (Mittels ASP.NET). Die Webseite läuft dann auf einem IIS und beinhaltet die
Funktionalität deines bisherigen C# Windows Forms Programms. Das Access File liegt dann ebenfalls auf dem Server und kann via ASP.NET
von allen Usern über die GUI deiner Webseite bearbeitet werden.
Leider kann man Windows Forms Oberflächen (GUIs) nicht automatisch nach ASP.NET konvertieren.
Gruß
IDE-ATAPI
Hallo IDE,
ich danke Dir für Deine vollständigen Erklärungen.
Ich habe mit dem lokalen netzwerk kein Problem, die Aufgabe konnte ich realisieren. Ich muss jetzt die Aufgabe über's Internet realisieren.
Ich versuche jetzt, meine Win-Forms zu einer Webseite mittels ASP.NET zu schreiben, wie Du geschrieben hast. Das ist doch das Konzept, was ich eigentlich gesucht habe und wie Du geschrieben hast, kann ich mein Vorhaben damit realisieren.
Ich fange jetzt mit der ASP.NET-Programmierung an und hoffe, daß ich Dich bald über mein Ergebnis zu informieren, aber trotzdem möchte ich mich bei Dir nochmal für Deine Uterstützung bedanken.
Viele Grüße
cp2010