Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zugriff auf Access DB von extern?

Frage Entwicklung Datenbanken

Mitglied: Nearle

Nearle (Level 1) - Jetzt verbinden

03.05.2010 um 14:50 Uhr, 7718 Aufrufe, 7 Kommentare

Ich möchte externen Mitarbeitern den Zugriff auf unsere hausinterne Access-Datenbank ermöglichen, aber wie?

Hallo,
ich habe eine Access-Datenbank (200 MB) im Haus und möchte diese unseren Mitarbeitern extern (30 Leute) zugänglich machen. Diese sollen immer mal wieder drauf zugreifen und auch Daten eintragen können. Sicherlich werden diese höchstens 1-2 mal in der Woche für ein paar Minuten drauf zugreifen müssen.

Problem 1: Die Mitarbeiter haben auf ihren Rechnern kein Access
Problem 2: Die Datenbank muß physisch in unserer Firma bleiben.

Wie würdet ihr das lösen?
Problem mit Access-DB sind bei dieser Größe ja, dass alle Daten übertragen werden müssen.

Ich hätte hier die technischen Voraussetzungen um den Leuten einen VPN-Tunnel einzurichten, danach müssten sie per remote auf die jeweilige Maschine mit Access und der Datenbank, aber das is alles umständlich und nicht sauber. Oder per Teamviewer auf eine Kiste im Betrieb schalten lassen? Dann wären die Mitarbeiter relativ einfach auf der jeweiligen Kiste, aber es geht halt immer nur eine Leitung und die Lizenzierung wäre teuer.

Ich danke Euch für Ratschläge
Mitglied: bernie2909
03.05.2010 um 15:37 Uhr
Hi,

ich hab sowas mit VM Server, also ws auf vm ware laufen, und die Standorte verbinden sich via Remote desktop auf einer VM ws.

Vorteil, es werden nur Daten zum Anzeigen der Vm Übertragen, und Die rechne Leistzung bleibt im Hauptstandort. Das entlastet den Externen Netzverkehr.

Gruß

Bernie
Bitte warten ..
Mitglied: Edi.Pfisterer
03.05.2010 um 15:46 Uhr
Hallo!
Die eleganteste Lösung ist vermutlich, ein paar ASP Seiten zu basteln, mit denen Du Deine User auf die DB per Browser zugreifen lässt...
Vorteile:
Du brauchst kein VPN, kein ACCESS, einen Browser hat jeder, etc...

Falls Du dabei Hilfe brauchst: Melde Dich wieder...
Ansonsten gibts im WWW eine Vielzahl von praktischen Anleitungen, wie so etwas leicht zu realisieren ist...
lg
Bitte warten ..
Mitglied: Nearle
03.05.2010 um 15:56 Uhr
@Bernie:
Meine externen Mitarbeiter sind aber nicht an einem bestimmten Standort, sondern z.B. via Lapotp im home office!
So müsste ich erst eine VPN Verbindung zu uns in die Fa. aufbauen und danach via Remote desktop zum jeweiligen Server und der dortigen DB. Sehr umständlich.

@urobe73:
Dieses Hilfe-Angebot nehme ich sehr gerne an. HTML Programmierkenntnisse habe ich zwar nicht viele, aber die Strukturen und einfache Bausteine kenne ich.
Wenn Du mir links finden könntest, wie so eine DB einfach via browser und ASP zu editieren ist, dann wäre ich Dir super dankbar.
Das hört sich wirklich nach ner guten Lösung an.
Bitte warten ..
Mitglied: Edi.Pfisterer
03.05.2010 um 16:18 Uhr
Hallo!
Ich muss jetzt Heim (oder will ), und Rom wurde ja auch nicht an einem Tag erbaut... aber das bekommen wir schon hin!
praktisch wäre, wenn Du hier die Struktur der DB inkl. Felddatentyp angeben könntest...
(oder halt per PM, falls Du irgendwelche Bedenken hast...)

alternativ könntest du ja die Feldnamen etwas "verfälschen" und es doch hier posten. Das hätte den Vorteil, das mehrer hier mitbasteln können, was die Zeit verkürzen würde, bis das Teil läuft...


lg
bis morgen
Edi
Bitte warten ..
Mitglied: Edi.Pfisterer
04.05.2010 um 08:31 Uhr
Hallo!
ungeachtet Deiner DB mal ein bissl was zum Einstimmen...

1.) Du brauchst einen funktionierenden IIS (Start/Systemsteuerung/Software/WindowsKomponenten hinzufügen). Achte darauf, dass Du die Verarbeitung von ASP - Seiten mitinstallierst (Anleitungen dazu gibts wie Sand am Meer im www)
1a) nach Installation des IIS sollte am Server unter http://localhost eine Seiter erscheinen...

2.) Alle ASP-Seiten solltest Du per default in C:\inetpub\wwwroot speichern (falls Du mit der IIS-Verwaltungskonsole zurecht kommst, kann das auch wo anders sein

3.) Die DB liegt idealierweise irgendwo am Server mit dem IIS, kann aber auch wo anders sein. in diesem Fall solltest Du das LW mit der DB halt (per skirpt im Autostart) mappen [Anm.: beim Reboot geht dieses mapping bis zum 1. login verloren, wodurch die DB vorübergehend übers www nicht erreichbar sein wird...]

4.) auf der DB muss der IUSR (das ist der user, der bei der IIS-Installation angelegt wird) Schreibrechte haben (NTFS Dateiberechtigungen)

5.) Folgender Beispielcode ermöglicht nun, dass deine User übers www auf aus der db lesen können und eine einfache Suche starten können.
Zur besseren Übersichtlichkeit habe ich dir 2 Dateien hergerichtet (beide sollten im wwwroot Verzeichnis stehen):

Folgenden Code hat eine meiner Schülerinnen erstellt, könnte sein, dass er nicht 100%ig sauber ist
aber: er funktioniert fix - einen besseren habe ich grad nicht für copy/paste gefunden (und meine eigenen sind als Einsteigerbeispiel leider wenig geeignet...)

1.) inc_db.asp
01.
<% 
02.
set conn=server.createobject("adodb.connection") 
03.
 
04.
' DSNlose Verbindung zur Datenbank variante A: 
05.
' DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; " 
06.
' DSNtemp=dsntemp & "DBQ=" & server.mappath("Mewa.mdb") 
07.
 
08.
' DSNlose Verbindung zu einer MS Access Datenbank Variante B: 
09.
DSNtemp = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\webspace\test\myDB.mdb" 
10.
conn.Open DSNtemp 
11.
 
12.
%>
Erklärung:
durch obigen Code wird einfach nur eine Verbindung zur Datenbank myDB.mdb hergestellt. Falls die db im selben Verzeichnis wie die ASP Seiten liegt, ist Variante A denkbar, besser gefällt mir aber Variante B! (durhc die vorangestellten Hochkomma ist Variante A auskommentiert und wird daher nicht verarbeitet!)
Dein teil: einfach nur den Pfad ändern, fertig!

db_lesen.asp:
01.
<html> 
02.
<head> 
03.
<title>Mewa</title> 
04.
<meta name="author" content="eva.mueller"> 
05.
<meta name="generator" content="Ulli Meybohms HTML EDITOR"> 
06.
<link rel="stylesheet" href="css/mewa.css" type="text/css"> 
07.
<br> 
08.
<br> 
09.
 
10.
<br> 
11.
<img src="pix/logo.gif" alt="" border="0"></center> 
12.
</head> 
13.
 
14.
<body text="#000000" bgcolor="#000000" link="#000000" alink="#000000" vlink="#000000"> 
15.
<center><font size="+3">Kunden bearbeiten</font><br><br> 
16.
 
17.
 <!-- #include file="inc_db.asp" --> 
18.
 
19.
 
20.
<% if len(request("suchfeld")) >= 1 then %> 
21.
 
22.
        <% dim suche 
23.
        suche = request("suchfeld") 
24.
        suche = replace(suche,"*","%") 
25.
        if len(request("sort")) <= 2 then 
26.
        sortierung = "order by Auftragsnummer" 
27.
        else 
28.
        sortierung = "ORDER BY " 
29.
        sortierung1 = request("sort") 
30.
        if request("steigung") = "absteigend" then 
31.
        sortierung2 = " DESC" 
32.
        else 
33.
        sortierung2 = " ASC" 
34.
        end if 
35.
        sortierung = sortierung & sortierung1 & sortierung2 
36.
        end if 
37.
        %> 
38.
 
39.
 
40.
        <% 
41.
 
42.
         sql = "SELECT * FROM Mewa WHERE (((Mewa.Auftragsnummer) Like '%" & suche & "%')) "& sortierung &"" 
43.
        set rs=conn.execute(sql) 
44.
 
45.
        %> 
46.
 
47.
        <% if rs.eof then %> 
48.
 
49.
                 Ihre Suche brachte keine Ergebnisse 
50.
               
51.
        <% else %> 
52.
        <% dim vorkommen 
53.
        vorkommen=0 
54.
        %> 
55.
        <table> 
56.
        <tr> 
57.
         <td width=50px><b>Update</b></td> 
58.
 
59.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Auftragsnummer<% if sortierung2 = " ASC" then%>&steigung=absteigend<%end if %>">Auftrags- nummer</a></b></td> 
60.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Kundennummer<% if sortierung2 = " ASC" then%>&steigung=aufsteigend<%end if %>">Kunden- nummer</a></b></td> 
61.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Patchnummer<% if sortierung2 = " ASC" then%>&steigung=aufsteigend<%end if %>">Patch#</a></b></td> 
62.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Kollektion<% if sortierung2 = " ASC" then%>&steigung=absteigend<%end if %>">Kollektion</a></b></td> 
63.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Teile<% if sortierung2 = " ASC" then%>&steigung=aufsteigend<%end if %>">Teile</a></b></td> 
64.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Anmerkungsfeld<% if sortierung2 = " ASC" then%>&steigung=aufsteigend<%end if %>">Anmerkungen</a></b></td> 
65.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Embleme<% if sortierung2 = " ASC" then%>&steigung=aufsteigend<%end if %>">Embleme</a></b></td> 
66.
         <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Emblemenummer<% if sortierung2 = " ASC" then%>&steigung=absteigend<%end if %>">Embleme#</a></b></td> 
67.
          <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Namensschilder<% if sortierung2 = " ASC" then%>&steigung=absteigend<%end if %>">Namens- schilder</a></b></td> 
68.
          <td align=center><b><a href="?suchfeld=<%=request("suchfeld") %>&sort=Lieferscheindruck<% if sortierung2 = " ASC" then%>&steigung=absteigend<%end if %>">Lieferschein- druck</a></b></td> 
69.
 
70.
        </tr> 
71.
                <% 
72.
                On Error Resume Next 
73.
                rs.MoveFirst 
74.
                do while Not rs.eof 
75.
                 %> 
76.
        <% dim color 
77.
        rest = vorkommen mod 2 
78.
        if rest=1 then 
79.
        color = "#FFFFFF" 
80.
        else 
81.
        color= "#DADADA" 
82.
        end if 
83.
        %> 
84.
        <tr bgcolor=<%= color %>> 
85.
          
86.
 
87.
          <td><a href="lager_bearbeiten2.asp?Auftragsnummer=<%= rs.fields("Auftragsnummer") %>"><img src="pix/update.gif"  border="0" alt=""></a></td> 
88.
         <td><%= server.htmlencode(rs.fields("Auftragsnummer").value)%></td> 
89.
         <td><%= Server.HTMLEncode(rs.Fields("Kundennummer").Value)%></td> 
90.
         <td><%= Server.HTMLEncode(rs.Fields("Patchnummer").Value)%></td> 
91.
         <td><%= Server.HTMLEncode(rs.Fields("Kollektion").Value)%></td> 
92.
         <td><%= Server.HTMLEncode(rs.Fields("Anzahl_der_Teile").Value)%></td> 
93.
         <td><%= Server.HTMLEncode(rs.Fields("Anmerkungsfeld").Value)%></td> 
94.
         <td><%= Server.HTMLEncode(rs.Fields("Embleme").Value)%></td> 
95.
         <td><%= Server.HTMLEncode(rs.Fields("Emblemenummer").Value)%></td> 
96.
         <td><%= Server.HTMLEncode(rs.Fields("Namensschilder").Value)%></td> 
97.
         <td><%= Server.HTMLEncode(rs.Fields("Lieferscheindruck").Value)%></td> 
98.
        </tr> 
99.
 
100.
                <% vorkommen = vorkommen+1 %> 
101.
                <% 
102.
                rs.MoveNext 
103.
                loop%> 
104.
        </table> 
105.
        <br> 
106.
        <div class="positionierung"> 
107.
        Ihre Suche brachte <%=vorkommen%> Ergebnisse! 
108.
        </div> 
109.
        <% end if %> 
110.
        <% 
111.
        rs.close 
112.
        conn.close 
113.
        SET conn = nothing 
114.
        %> 
115.
 
116.
<% else %> 
117.
 
118.
        <span class="error"> 
119.
 
120.
        <% fehler = request("error") 
121.
        if fehler = "1" then %> 
122.
        Ihre Eingabe brachte keine Ergebnisse! 
123.
        <% end if %> 
124.
 
125.
        <% if fehler = "3" then %> 
126.
        Daten erfolgreich gelöscht! 
127.
        <% end if %> 
128.
        </span> 
129.
        <br> 
130.
 
131.
 
132.
 
133.
        <form action="db_lesen.asp" method="post" target=""> 
134.
        Auftragsnummer: <input type="Text" name="suchfeld" value="" size="25" maxlength=""><br> 
135.
        <br> 
136.
        <input type="Submit" name="absenden" value="auswählen"> 
137.
 
138.
        </form> 
139.
<br> 
140.
<br> 
141.
 
142.
<br> 
143.
<br> 
144.
<a href="Lagerstart.asp">zurück</a><% end if %> 
145.
<br> 
146.
<br> 
147.
 
148.
<div class=error>Last Update: <!--DATE-->06.05.2008<!--/DATE--></div> 
149.
</body> 
150.
</html>
Kurzer Erkärung:
Include der DB-Konfig
Test, ob der USer auf auswählen geklickt hat (und damit in der DB suchen will)
Falls ja: SQL-Befehl fragt in der DB in der Tablle MEWA ab
(Anm: Du erhälst solche SQL-Befehle, in dem Du eine Abfrage in Access modulierst, und dann links oben in der Ansicht auf SQL klickst:
SQL-Befehl kopieren, fertig)
(Anm 2: da SQL als Platzhalter das Zeichen % mag, die User aber den * gewohnt sind, wird dieser vor der Abfrage ersetzt)
Überschriften der Tabelle
do while --> Inhalte der DB am Bildschirm ausgeben
next
Falls der User noch nicht auf auswählen geklickt hat, wird ihm die Suchmaske gezeigt

Dein Teil: die SQL Abfrage an Deine DB anpassen; ZEILE 42
die einzelnen Feldnamen ausbessern -- rs.fields("feldname") ZEILE 90 bis 100

gutes gelingen
lass Dir Zeit und schau dir in Ruhe den Code durch, bei Fragen (die wirds sicher geben meld dich!
Bitte warten ..
Mitglied: Nearle
04.05.2010 um 08:51 Uhr
Ich mach mich voller Begeisterung ans Werk und schau wie weit ich klar komm. DANKE soweit...Fragen werden sicherlich kommen.
Bitte warten ..
Mitglied: Edi.Pfisterer
11.05.2010 um 09:08 Uhr
Hallo!
Wie stehen die Dinge? Konntest Du erste Erfolge erzielen? Bei Bedarf könnte ich Dir auch je eine Seite für
löschen/ändern/eintragen in die DB posten.

lg
Edi
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Router & Routing
gelöst MikroTik hAP ac Winbox Zugriff deaktivieren (1)

Frage von horstvogel zum Thema Router & Routing ...

Datenbanken
Access Checkbox mit Kombifeld und dann filtern

Frage von atomas42 zum Thema Datenbanken ...

Windows Server
Windows Server 2012 R2 Benutzerkonto für Zugriff auf AD Benutzer (2)

Frage von JulianOhm zum Thema Windows Server ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...