Matthias Bohnstedt: Access2003-Leistungsfähigkeit; ASP; Benutzterkonten

Beitrag lesen

Hallo,

Ich hab verschiedene Fragen über das Anbinden von SQL Datenbanken über ASP Seiten. Bzw. deren Tauglichkeit für ein Intranet.

Ich habe eine Datenbank mit Access 2003 erstellt und möchte mit deren Hilfe die Intranetseiten erstellen.

Im Prinzip ist es eine Linkliste mit PDF-Dokumenten die Seite lädt also Über vordefinierte Abfragen die entsprechenden Einträge aus der Datenbank und erstellt daraus den "dynamischen" Teil der Website.

Im Moment passiert das über eine ASP Seite mit VB Script. Im Test funktionierte die Anbindung gut, aber wenn mehrere Leute auf die Datenbank zugreifen ( Also wenn die DB geöffnet ist, unabhönig ob direkt in Accsess oder über ASP, geht die Seite nirgendwo anders) dann funktzt es nichtmehr.

Meine Fragen sind die:

1. Die Datenbank kennt im Moment nur den benutzter "admin" der vollzugriff auf die Komplette Datenbank hat. Die ASP- Seiten verbinden sich über diesen DSN benutzter String auf die Datenbank die Datenbank liefter die Ergebnisse zurück und erstellt die Seite.

Das ganze läuft über einen MDB-access Treiber.

-->  Technische Frage: Der Client ruft die Seite auf. Dann "reden" nur noch Server und Datenbank mit einander. Sprich der Server macht eine Verbindung über den "Admin" Account und will die Abfragen machen. Oder Passiert da Client seitig irgendwas? Sprich der Server gibt den Benutzter String an den Client und der Client fragt dann die Datenbank?

-->  Frage 2:
     Um diese Abfragen richtig auszuführen, braucht der Client Nutzer irgendwelche Schreib oder lesrechte? Da ja eigentlich nur der Server mit der Datenbank agieren soll reicht doch eine Serverseitige Rechtevergabe, unabhönig was der Client auf dem Server darf oder? Wie greift die in accses eingestellten Rechte mit den Auf dem Server liegenden Rechte ineinander.

Sprich wenn ich mich mit einen Account auf die Datenbank connecte der  eigentlich keine Rechte besitzt um die "NAME.mdb" Datei zu beschreiben aber den in der Datenbank hinterlegten account " Admin" benutzte, kann ich dann Änderungen ausführen? Oder sind zwingend beide Rechte nötig? ( Also auf Filebasis, und Interner Access Basis?)

2. Grundlegend zur Leistungsfähigkeit einer Accsess mdb Datenbank:

Meine Überlegung war das ich einen Benutzer einrichte "Jeder" mit nur Lesezugriff. Wenn dieser Benutzer "Jeder" sich sagen wir mal 20 mal gleichzeitig mit der Datenbank verbindet, geht das überhaupt. Ich will wissen ob das Porblem das im moment immer nur eine ASP Seite geht damit zusammen hängt das die Datenbank zuviele Verbindungen von einem "ADMIN" bekommt, und dadurch für andere Nutzer gesperrt ist.

Die Fehlermeldung die kommt ist im moment das er einen Fehler im DSN string findet sobald die Seite schon auf ist. Daher liegt es nahe das er Probleme damit hat mehrfach diese Verbinundg aufzubauen. Umgehe ich das mit einen eingeschränkten Account inhalb der Datenbank?

Außerdem, wie viele hält eine derartige Datenbank aus? Und kann ich dem Server sagen das er nicht multiple Zugriffe machen soll sondern EINEN Zugang permanent offen hält über den dann alle Abfragen laufen. Scheinbar verbindet sich ja JEDE ASP Seite einzeln mit der Datenbank.

3. Mir steht auch ein sehr leistungsfähiger SQL-Server zu verfügung. Ich hatte über Accsess2003 auch schon die mdb mit den SQL Server verbunden. Aber ich konnte keine Änderungen machen. Nur direkt auf dem Server. Kann ich über ein Acc2003 Projekt nicht Direkt auf dem Server arbeiten. Scheinbar lieferte er mir immer nur ein "View" der Datenbank auf dem Server. Ich hab der Acc2003 Projekt gesagt verbinde dich mit den höchsten schreibrechten auf den Server ( Weil ich will ja drauf arbeiten) aber er sagt mir ich darf keine Datensätze ändern.
Auf dem Server sind komplette schreibe und Leserechte für die DB, sogar für Public, aber es bringt nichts.

( Ja, das ist für die Sicherheit jetzt extrem "Suboptimal" aber die auf dem MDB Projekt darf nur ein ADmin arbeiten, und wir sind in einem Isolierten Intranet, daher wären solche Lücken vertretbar und später kann man dies ja immernoch ändern)

Desweiteren ist es Möglich das ganze unter PHP zum laufen zu bringen, nur dann müsste auf dem Server doch eine SQL to Php Treiber installiert werden weil so wie ich das verstehe PHP eigentlich nur mit MYsql läuft oder? Ist das nunkompliziert umzusetzen? Und vor allem schnell.

Abgabge Termien für das funktionsfähige Intranet ist diesen Freitag stehe also leicht unter Zeitdruck.

Wobei es  ja "nur" ein technisches Problem ist. Das kann doch nicht so schwer sein. Reicht die Idee mit dem "Lesebenutzer" um dieses "sperren" der Datenbank zu umgehen. Und komm ich auch ohne SQL Server aus (  Dann müsste ich mich um die Anbindung kümmern, im Moment geht nur ein manueller Import, und das ist nicht das wo ich eigentlich hin will)

Wäre echt über jeden Tip dankbar Leute!