Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

fähiges Personal

Begonnen von fuenfsterne, Januar 31, 2012, 16:17:17

⏪ vorheriges - nächstes ⏩

Jonny

Hallo Ebs, Hallo Johannes,

lass uns doch ein Fazit ziehen und damit die Diskussion beenden.

Access ist in der Theorie nicht zu benutzen.  :o
Access ist in der Praxis durchaus benutzbar.  ;)


Gruß

Johann



oma

Hallo,

solche Diskussionen gibt es, solange es Access-Foren gibt. Fast immer auch mit der gleichen Rollenverteilungen und gleichen Argumenten (allerdings ist der "Laborversuch" von Johannes schon kreativ, da einmalig).
Übrigens fand ich den Beitrag , AEK14_Status recht gut

@Johannes (Wurliwurm und nicht Johann)
Habe mal überlegt welcher Typ der Access-Feinde aus dem Beitrag zu dir passt ;D
Access-Feind 2#  und auch Access-Feind #4 sicher nicht (denn ahnungslos bist du sicher nicht) aber Access-Feind #3 scheint mir wohl in der Nähe... ;D ;D

Nichts für ungut, dass Thema ist ja an sich schon spannend, nur den armen Matthias haben wir aber nun wohl völlig vergrault.

Gruß Oma
nichts ist fertig!

Wurliwurm

Zitat
Access-Feind #3 scheint mir wohl in der Nähe.

Hallo Oma,

da hast Du richtig geraten

Wurliwurm

Hallo,

wer den Unterschied zwischen einer aktiven Datenbank mit strikt serialisierbaren Transaktionen und der Jet Engine live sehen will, kann sich die auf meinem Mist gewachsene beigefügte Datei runterladen und damit spielen. Stichwort "Leser-Schreiber-Problem". Vergleichen mit Oracle kann man natürlich nur, wenn man Oracle zur Verfügung hat

Zum Laborversuch:
Es gibt eine MDB, die bucht, und zwar immer in einer Transaktion zuerst alle bestehenden Datensätze löscht und anschließend wieder 1000 Datensätze bucht. Alle Datensätze ergeben in der Summe Null (damit man dirty-reads erkennen kann, wo man nicht vollständig gelöschte Datensätze noch oder halbfertige Transaktionen schon sehen kann).
Außerdem gibt es eine MDB, die eine Abfrage startet und im Log ausgibt, wenn unsaubere Daten gelesen werden.

Wenn man den Versuch starten will, dann die Schreibe-mdb n-mal kopieren. Alle MDBs sollten im gleichen Verzeichnis sein, damit die Logs in das Unterverzeichnis \Logs richtig geschrieben werden.

Dann erst die Lese-Mdb starten, dann der Reihenfolge nach die Clients. Man kann bei Interesse die Parametern für die Wartezeit zwischen den Durchläufen ändern. Wenn das Programm eine Zeitlang laufen, kann man sehen, wie die Fehler auftauchen.

Ich habe das ausprobiert auf einem lokalen PC und folgendes festgestellt:

Das Schreiben geht beim Access-Backend sehr schnell, aber es kommt zu Fehlern, so daß eine Transaktion abbricht. Bei Oracle-Backend dauert das Schreiben länger, aber die Historie ist seriell: Eine wunderschöne Abwechslung von Client1 und Client2, sauber wie ein Reißverschluss.

Das Lesen hingegen braucht beim Access länger, aber regelmäßig gibt es Fehler, die schlimmsten davon sind, daß falsche Werte kommen, aber kein Fehler geworfen sind.

Außerdem bläht sich das Access-Backend auf. Wenn es nicht komprimiert wird, dann platzt es irgendwann. Das Oracle-Beispiel läuft und läuft, es gibt niemals Fehler und wenn es nicht abgeschossen wurde, läuft es noch immer.   :)

Vielleicht findet ja der eine oder andere es interessant. Es ist alles Access, reines VBA mit ADO.

[Anhang gelöscht durch Administrator]

fuenfsterne

Zitat von: Wurliwurm am Februar 01, 2012, 15:41:55
Wir können hier gerne fachsimpeln, aber wahrscheinlich meldet er sich eh nicht mehr...

Ha, o doch... :) Da bin ich wieder... Fast hättet ihr mich vergrault, aber nur fast...  :D Ist halt dann nur etwas mühsam wenn Beiträge gepostet werden, die wenig bis nichts zur Sache an sich beitragen. Als Threadopener lieste ja doch jeden Beitrag weil du denkst, da steht was drin was dir weiterhilft... Aber gut. Ich kenne das aus anderen Foren... :) Kein Problem...

Habt erstmal vielen Dank für die Reaktionen. Ich habe verstanden, das das Ganze mit Excel lösbar ist, aber sicherlich für einen Anfänger wie mich etwas Arbeit bedeutet.

Zitat von: Jonny am Februar 01, 2012, 09:57:33
Du hast ja viel geschrieben aber nicht so richtig was passieren soll.

Da hast Du Recht. Genau das will ich herausfinden. Es stellt sich folgende Problematik: die fertigen Lösungen!

Zitat von: Wurliwurm am Februar 01, 2012, 13:25:52
Wenn Du das für Dein Geschäft brauchst, warum machst Du Dir dann die Mühe? Du würdest viele hundert Stunden brauchen, wenn Du etwas wirklich brauchbares zusammenbauen wolltest. Es gibt viele fertige Lösungen.

Man kann sehr viel Geld ausgeben für ein CRM oder eine Kundendatenbank, um am Ende festzustellen, das es den Anforderungen entweder nicht genügt oder eben auch viel zu viel kann. Das stellt man dann jedoch leider erst im täglichen Gebrauch fest, daher tendiere ich zu der Lösung eine eigene Variante zu bauen. A) kostet es weniger (zumindest weniger Geld, dafür mehr Zeit) und B) kann ich die Lösung, wenn ich mich da einmal reingefuchst habe, immer wieder Veränderungen anpassen. (z.B. ein zusätzliches Feld einfügen, einen zusätzlichen Bericht erstellen lassen, etc.)

Ich brauche lediglich eine Möglichkeit, Kunden zu verwalten (mit sämtlichen Kundendaten) und die einzelnen Produkte anzulegen. Es müssen Berichte/bzw. Statistiken abrufbar sein wie z.B. Umsatz den der Kunde dem Unternehmen gebracht hat, welche Produkte er gekauft hat, etc. Ich muss auch z.B. Laufzeiten von Produkten anzeigen lassen können, z.B. Laufzeit bis 01.12.2012.

Diese Datenbank soll an sich nicht im Web stehen, obwohl ich ein NAS installiert habe, auf das ich von außen über einen SSL-verschlüsselten Tunnel zugreifen kann. Nennen wir es einfach Intranet... :)

Wenn die Datenbank dort liegt, dann müsste ich die ja auch per Access öffnen können, und wenn ich mir von außen Schreibrechte erteilt habe, dann müsste ich diese ja nach der Dateneingabe auch speichern können. Diese Option sollte schon offen bleiben die Datenbank auch übers Internet abrufen zu können.

Welche Alternativen gibt es denn? Ich höre hier SQL, Oracle, etc.

Mir platzt der Kopf. Wäre denn jemand bereit, sich an eine solche Aufgabe heranzuwagen?

Viele Grüße und ein schönes Wochenende wünscht

Matthias

Jonny

Hallo Matthias,

schön das Du dich nicht abgemeldet hast.

Hier im Forum die Db mit allen Einzelheiten zu erstellen wird meiner Meinung nach nicht gehen
da es zu Aufwendig ist und wirklich 100 Stunden vergehen bevor Du was gescheites hast.

Eine Möglichkeit wäre das jemand für Dich die grobarbeiten durchführt.
Das Ganze kommentiert und Du musst nur noch kleine Anpassungen vornehmen.

Gruß

Johann

oma

Hallo Matthias,

um die ganzen Beiträge loszuwerden, schlage ich dir die Erstellung eines neuen Themas vor, da hier sowieso keine mehr einsteigt u. alles lesen will!

Ein neues Thema dann, wenn du dich entschließt, die Entwicklung alleine zu betreiben. Alleine bedeutet trotz Unterstützung im Forum etliche Stunden und eine ziemliche lange Zeit bis zur ersten praktischen Arbeit mit der DB.
Ansonsten bleibt auch der Weg, um professionelle Hilfe. Hier im Forum gibt es mehrere Mitglieder, ich würde dir DF6GL empfehlen , den kannst du über eine PN hierzu kontaktieren.

Wenn du den steinigen (aber auch spannenden und "wissenerweiternden") Weg der Eigenentwicklung gehen willst, erstelle ein neues Thema mit:

1. Kurzbeschreibung der Aufgaben
2. Entwurf eines Tabellenaufbaus mit Feldbeschreibung

Gruß Oma
nichts ist fertig!

Jonny

Hallo,

auch ich mach Auftragsprogrammierung auf Rechnung mit UStd-ID ausgewiesen Mehrwertsteuer und
bestimmt keine Schwarzarbeit, genau wie DF6GL.

Bei Interesse kannst Du mir eine PN schicken. Ein Angebot könnte ich Die in der nächsten Woche machen
aber die Programmierung frühestens im März.

Gruß

Johann

Wurliwurm

Zitat von: fuenfsterne am Februar 03, 2012, 16:20:27
...Diese Option sollte schon offen bleiben die Datenbank auch übers Internet abrufen zu können....
...Welche Alternativen gibt es denn? Ich höre hier SQL, Oracle, etc....

Hallo Matthias,

Access als Frontend ist schon eine gute Wahl. Die anderen Plattformen wie Java, *.Net etc erfordern ein vielfaches an Aufwand, weil sie abstrakter sind und es Jahre braucht, bis man richtig produktiv so arbeiten kann, daß jeder Handgriff sitzt.

Wo die Daten gespeichert werden, da haben wir ja weiter oben die Diskussion gehabt. Ich will hier nicht als Schlechtmacher o.ä. dastehen, deswegen hier nur mein konstruktiver Vorschlag bzw ein paar Schlagwörter:

Benutze als Zugriffstechnik für die Daten ADO. Dann hast Du die Möglichkeit (wenn das sauber aufgesetzt ist), später mit ein paar Handgriffen auf eine aktive ("echte") Datenbank zu migrieren. Damit würde die Lösung auch über das Netz wunderbar funktionieren.  Es gibt da ein paar kleine Dinge zu beachten, zum Beispiel nicht den Flag (ja/nein) als Feldwert in der Datenbank zu nehmen, weil es diesen in anderen Datenbanken nicht gibt. Wie das mit ADO geht, da bist Du hier sicher in guten Händen.

Aber zuerst gilt es, ein gutes Datenmodell zu entwerfen, und da bist Du hier sicher auch in guten Händen.

fuenfsterne

OK, es ist erstmal schön zu wissen, das ich hier an der richtigen Stelle bin.

Da habe ich noch eine Frage. Ein befreundeter Mediengestalter baut mir gerade die Homepage. Entweder mit Drupal oder mit Typo3. Das weiß ich jetzt nicht genau. Dazu habe ich ein Hostingpaket erworben, man braucht ja für die CMS-Systeme i.d.R. SQL-Datenbanken.

Kann man denn diese Datenbanken auch für mein Projekt nutzen? So daß das ganze quasi bei meinem Hoster liegt  und ich darauf über ein Backend Onlinezugrif habe? Selbstverständlich SSL-gesichert... Geht das?

Ansonsten werde ich mir in den nächsten Tagen Gedanken machen, wie ich das Ganze nun lösen will.

Erstmal noch ein dickes Dankeschön an euch und ein schönes Wochenende...

Matthias

Wurliwurm

Zitat von: fuenfsterne am Februar 04, 2012, 13:30:27
Kann man denn diese Datenbanken auch für mein Projekt nutzen? So daß das ganze quasi bei meinem Hoster liegt  und ich darauf über ein Backend Onlinezugrif habe? Selbstverständlich SSL-gesichert... Geht das?

Grundsätzlich geht fast alles. In der Entwurfsphase solltest Du mit einer lokalen Access-Datenbank auf dem PC beginnen. Wenn das dann läuft, kannst Du Dir Gedanken machen, wie Du die Architektur machst.

Für Webseiten benutzt man normalerweise php oder java-Servlets. Ich könnte es mir so vorstellen, daß der Kunde die Webseite aufruft und das html per php aufbereitet wird. Du als Unternehmer hingegen greifst auf die Datenbank per Access-Client zu. Für den Zugriff auf die Datenbank vom Access aus ist SSL aber nicht die richtige Verschlüsselungstechnik, SSL gehört zu http (dem Protokoll, mit dem vor allem die html-Seiten übertragen werden).



Wurliwurm

Zitat von: Wurliwurm am Februar 04, 2012, 14:25:34
Für den Zugriff auf die Datenbank vom Access aus ist SSL aber nicht die richtige Verschlüsselungstechnik, SSL gehört zu http (dem Protokoll, mit dem vor allem die html-Seiten übertragen werden).

Ich habe kurz gegoogelt und wahrscheinlich geht ADO.Connection über SSL doch.