| |
|
|
Rob Wilts | Yo arbeite a una bastante umfangreichen Projekt. DA bin Yo aber dringend en mehrere User en el Netzwerkangewiesen. Profano puede (o. el Arbeit con Datenbanken en el Netz funktioniert auch) aber el Programa verliert doch einiges a Geschwindigkeit.
Sombrero alguien Erfahrung oder Tipps? |
|
|
| |
|
|
|
| Das Programa ists no qué a Geschwindigkeit verliert - es más bien así el el Netzwerk (je después de Netzwerkgeschwindigkeit) - el Übertragungsgeschwindigkeit el Daten determinado. Como lo Netzwerke son welche más rápido como Festplatten son - läufts Programa bajo Umständen incluso más rápido como de Festplatte. (Besonders si la Endplatte el Ram es.)
Um ¿qué es exactamente es Usted porque? |
|
|
| |
|
|
|
Rob Wilts | Usted hast Recht, natürlich se el Programa no langsamer. Oder sólo indirekt, como se trata de un muy komplexe Datenbankanwendung es con z. T. Datenbanken con más Tausend Einträgen. Como el Programa en el Netz eingesetzt voluntad se, son zumindest theoretisch mehrere User gleichzeitig con el Daten verbunden, y puede (oder debería) esta natürlich auch verändern puede.
Das wiederum bedeutet, dass ständig Lese- Schreib- y Aktualisierungszugriffe tener lugar.
Konkret folgende Fragen, es ratsam zwischendurch el Datenbanken zuschließen (con dbclose) y ellos inmediatamente otra vez para Weiterarbeit a abierto, o. umgekehrt, debería uno antes cada Schreibzugriff el Datenbank neu abierto (podría se qué geändert haben)?
Grundsätzlich: Es el Arbeit con dbfs así gestaltet, dass siempre el todo Datenbestand geladen (also übers Netz transportiert voluntad muss?) oder stellt dbopen primero sólo una Verbindung her y lo se je después de Anforderung el geforderte Datensatz transportiert.
Wenn Yo weiß como el grundsätzliche HAndling es, kann Yo effektiver strategien entwickeln.
Yo hoffe el Ganze es algo deutlicher geworden
Rob
P.S. podría el Einsatz de SQL-Befehlen una Lösungsweg ser? |
|
|
| |
|
|
|
| Also.
Lo son natürlich muy viel a beachten - ya alleine así lo no Kollisionen son. Das schlimmst son Kollisionen - sagte Yo el ya?
Yo lege ahora una funcionamiento [Web]Server con PHP & DB-Unterstützung como Grundlage fest.
El ClientAPP (CApp) envía el Server una Anforderung - y wartet el Result.
Diese Anforderungen necesario umbedingt gestapelt voluntad - hier liegt el Trick. Es no sólo demzufolge absolut unempfehlenswert el CApp direkt con el DB a connecten - pero auch de el Sicherheitsaspekt.
El CApps senden also einfache Anforderungen a el Server y dieser legt esta primero de. Jede Anforderung bekommt una Ticket (una SID) - el el CApp auch mitgeteilt se. Ein permanenter Dienst en el Server (CronJob?) kümmert se wiederum en el Abbau des Stapels. El CApps warten solange a ellos una Result para el erhaltene Ticket obtener.
Das wars auch ya.
Yo bin hierbei su ausgegangen el wirklich muy viele Personas innerhalb uno großen Projektes gemeinsam una DB füttern querer. |
|
|
| |
|
|
|
| Gehts ahora una Datenbank en el Netzwerk oder una Internet-Datenbank, como MySQL |
|
|
| |
|
|
|
Rob Wilts | Hört se bien a, sólo el Yo en el Beziehung todavía unerfahren bin.
Also el Satz lege Soy un funcionamiento Webserver a übersteigt ya mi Erfahrungen. Das Nachfolgende entsprechend ...
Vereinfacht dijo, arbeitet jede Versión des entsprechenden Users fast así, como en el Single Betrieb, außer dass cada User sólo en Datenbanken en una Rechner zugreift.
ALso: Ganz así viele User voluntad lo probablemente no ser, 1-4 max. gleichzeitig. Alle legen beim Start el Verbindung (Pfad) a Datenbanken fest y lesen (y escribir) en esta Daten. Como ya he dicho el funktioniert en ersten Test auch bastante bien, d.h. schreibt User A Daten, así kann user B en nächsten Anforderung el (geänderten) Daten auch lesen y sehen. Deswegen lasse Yo en el Regel el Datenbank auch sólo neu abierto, bevor una Satz geschrieben se.
Im Grunde - si yo dich bastante verstehe sprichst du una más Problema a: El Sicherheit. Wobei Yo Sicherheit en el Sinne de Integrität verstehe?
Das ursprüngliche Problema, el Yo ansprach Es el Geschwindigkeit. Hier hilft tal vez auch einfaches ausprobieren. |
|
|
| |
|
|
|
Rob Wilts | Como tal vez de el vorherigen BEiträgen ersichtlich: Lo va ausschließlich en Datenbanken en el lokalen Netzwerk.
Das Thema Datenbanken Internet wäre später de Interesse.
Como ya he dicho Hinweise cada Art son willkomen |
|
|
| |
|
|
|
Torsten Rümker | ¡Hola,
du solltest en cada Fall todavía una vez darüber nachdenken, si el Strategie cada Client direkten Zugriff en el Datenbank a gestatten bien es! Grundsätzlich debería el nämlich no geschehen.
El (para el Datenbestand) sicherste Método es una Server a redactar, el el Daten je después de Anfrage disponible stellt. (Ok había IF ya dijo)
Auf el Art spart uno se zusätzlich Datentransfer encima el Netzwerk, el z.B. por Suchen en el Datenbank entstehen sería, qué entonces auch otra vez el Geschwindigkeit zugute kommt. Damit fällt entonces auch wohl el dbopen antes el Carta el Daten wech ;)
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 02.10.2005 ▲ |
|
|
|
|
| Im Grunde nimmt sichs nichts si DB Internet oder DB en el Lan - porque beide DBs son no Lokalen.
1-4 Benutzer son wirklich no viel - aber el Problematik restos el selbe. [quote:f38503daa9]Wobei Yo Sicherheit en el Sinne de Integrität verstehe?[/quote:f38503daa9]No ausschließlich - aber absolute Integrität besonders en Stress debería Priorität haben.
Tiempo unos pocos Fragen:
Welches es el ServerOS? (WinXPPro?) Welches es el ClientOS ? (WinXPHome?) Was para una DBFormat liegt antes? (SQL?) Idea de ODBC? |
|
|
| |
|
|
|
Rob Wilts | OS XP-Prof
DB mentira en dBase 4-Formato antes
Keine Idea de ODBC |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Rob Wilts | Gracias aber kann no sagen, dass Yo wirklich weitergekommen bin
folgendes kleines BEispielprogramm
cls declarar A&
CHDIR DATA imprimir getdir$(@) A&=@SQLINIT(DSN=FBS_ORG) imprimir a& SQLEXEC SELECT * FROM KURSPROGRAMM.DBF,1 ListBox$(Ergebnis:,2)
waitkey
Erzeugt en SQLEXEC el Fehlermeldung Kann Objeto KURSPROGRAMM.DBF no encontrar
Was mache Yo falso? A& <> 0 !!!!!!!!!!!! |
|
|
| |
|
|