Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Datenablage/Datenbanklösung für CRM-ähnliche Software
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

Datenablage/Datenbanklösung für CRM-ähnliche Software

beantworten | zitieren | melden

verwendetes Datenbanksystem: <noch keines>

Hallo liebe Gemeinde,

ich benötige mal euren Rat. Bekannte von mir arbeiten mit Kunden und haben sich wohl schon einen relativ großen Kundenstamm aufgebaut. Alles über irgendwelche Word, Excel und PDF Dokumente.

Die Daten liegen auch so auf mehreren PCs verteilt und mal was auf Google Drive und mal dort was. Also pures Chaos. Nun sind die Leute an mich heran getreten und haben mich gefragt ob es dafür nicht eine Lösung gäbe. Natürlich gibts dafür ne Lösung habe ich gesagt, die heißt Datenbank. Ohne die bekommen die Ihre Daten niemals geordnet.

Im Grunde benötigen die sowas wie ein sehr rudimentäres CRM. Kundendaten, Dokumente einbinden, Terminerinnerung usw usf.

Nun weiß ich nicht genau wo ich die Daten ablegen soll :/
Die haben bisher viel in Gdrive gemacht, damit die Daten nicht weg sind falls mal der PC die Hufe hoch reißt.

Habe mir diverse Online CRM Lösungen angeschaut, das dumme ist nur, dass man da nicht offline arbeiten kann. Die wollen eigentlich Google Drive gerne weiter nutzen.

Ich habe dann hin und her überlegt. SQL Compact macht irgendwann keinen Sinn mehr, denn wenn die so anwächst in ein zwei Jahren, dann dauert der Sync der einzelnen DB Datei ewig. Fällt also flach. SQL Server Express bei jedem aufsetzen macht auch keinen Sinn. Wie halte ich denn dann die Daten synchron? Außer es hätte jeder seine eigenen Daten. Würde zur allerletzten Not auch gehen. Hat sowieso jeder seinen eigenen Kundenstamm.

Also momentan sind es wohl an die 500 Kunden, für 3 Personen. Könnte aber auch alles weiter wachsen... Ich will auch an die Zukunft denken. Man weiß ja nie.

Könntet ihr mir irgendwas empfehlen oder einen Tipp geben wie ich es in C# umsetzen könnte?

Gruß trekki
private Nachricht | Beiträge des Benutzers
Sclot
myCSharp.de - Member



Dabei seit:
Beiträge: 324
Herkunft: Bremen

beantworten | zitieren | melden

Ich hatte selbe Aufgabenstellung vor einigen Jahren für 15 aussendienstmitarbeiter.

Das Konzept hat sich im laufe der zeit immer mal wieder geändert.
Im Moment sind wir an dem punkt wo wir einen Linux Server angemietet haben welcher zum einen dateizugriff über ftp bereit stellt und zum andren eine Soap api zu einer MySQL Datenbank bereit stellt in welcher kundendaten und Termine gepflegt werden.
Die api wurde mit php gebaut und ein c# Client greift darauf zu.

Im Moment sind wir am evaluieren ob z.b. ownclound eine sinnvolle alternative darstellt oder wir z.b. auch datensätze und Dateien in mongodb/gridfs ablegen können.
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1.090

beantworten | zitieren | melden

So lange die Anzahl der Benutzer nicht Sprunghaft ansteigt solltest du dir um die Datenmenge nicht wirklich sorgen machen müssen. Du brauchst ja nur die geänderten Datensätze zu aktualisieren.

Ich denke wenn es nur um die Erfassung und Verwaltung der Kundendaten geht, reicht für den Lokalen PC eine kostenlose Datenbank und ein günstiges Angebot im Netz. Kapsel den Datenzugriff sauber, dann kannst du im zweifel auch einfach die DB wechseln.
Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Guten Morgen Palin,

aber wird nicht bei jeder Änderung an der DB-Datei die komplette DB-Datei neu geschrieben?
Das wäre nämlich nicht gut, wenn dann mehrere drauf zu greifen. Ich weiß nicht ob der GDrive Client so intelligent ist und nur die einzelnen Bytes der Datei umändert :/

Also um die Datenmenge muss ich mir schon Gedanken machen, denn die scannen auch sämtliche Dokumente zum Kunden ein. Also sowas wie Verträge, Aufträge usw. Da ist von 100KB bis 2MB pro File alles dabei. Die hätte ich aber direkt ins Filesystem geschrieben mit dem Pfad in die Datenbank. Sollte ja einfach sein dann mit der Synchronisierung.

Gruß
private Nachricht | Beiträge des Benutzers
pinki
myCSharp.de - Member

Avatar #avatar-4072.jpg


Dabei seit:
Beiträge: 699
Herkunft: OWL

beantworten | zitieren | melden

Guten Morgen,
ich weiß nicht, ob Google Drive eine gute Lösung ist. Was ist denn, wenn zwei oder mehr Personen Änderungen an der gleichen Datei vorgenommen haben?
Wie sieht's denn mit einer Datenbank, die Replication kann, aus? Da wäre dann zumindest der Fall mit abgedeckt, dass ein Datenbankserver komplett kaputt gehen kann, ohne dass die Daten futsch sind.
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3.736
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

Hallo Trekki,

eine dateibasierte Lösung, wo Dateien hin- und herkopiert werden, ist keine gute Lösung, auch wenn es nur 3 Benutzer mit wenigen Datensätzen sind.

Ist es nicht möglich eine zentrale Datenbank zu installieren, auf die dann zugegriffen wird ? So macht man das im Normalfall.

Wenn auch Offline gearbeitet werden muss (Laptop ohne Internet), dann schau Dir mal Replikationen an.

Für das Forum hatte ich mal eine kostenlose Community Version meiner Kundenverwaltung erstellt, die wird aber nicht mehr gepflegt. Wenn Du Interesse hast melde Dich.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Hallo Bernd,

Dateibasiert gefällt mir ja genau so wenig. Genau das ist der Anwendungsfall. Die Personen haben alle einen eigenen Laptop und nehmen den auch zu Kunden mit und müssen dort dann was ändern. Zentral ablegen würde ich ja gern, bloß es gibt kein Büro oder ähnliche Örtlichkeiten an dem ich einen Server hinstellen könnte. Deshalb die Idee mit Gdrive.

Replikationen... Schau ich mir mal an.

PS: Dein Vorschlag mit der Kundenverwaltung nehme ich gern an ;)

Gruß
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Microsoft Sync Framework und dann eine zentrale Datenbank mit der lokalen Laptop-Datenbank synchronisieren.
Ist einfacher in der Umsetzung als Replications und kann auch abstrahiert über einen WCF erfolgen.

Ein zentraler Service, sodass sich die Anwendungen nicht immer direkt mit der Datenbank verbinden, ist in so einem Fall ohnehin sinnvoll.

Bin mir nicht sicher, ob das mit jeder Datenbank funktioniert, aber es gibt auch noch für Azure folgenden Fall:
Du hast ein Azure SQL DB sowie lokale auf den Laptops einen Sql DataSync Client.
Anschließend erstellt Du in Azure eine "Sql Sync Group" sowie einen "Sync Hub", setzt die Datenbank-Referenzen.
Nun definierst Du noch die Regeln, nach denen gesynct wird, selektierst die Daten, die synchronisiert werden sollen und das wars.
Die Anwendung arbeitet immer mit dem lokalen SQL und den Rest macht der Sync Agent für Dich.
(hier gibts dann aber kein Service!)
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Hallo Abt, das hört sich echt nicht schlecht an! Wenn dann würde ich sowieso MSSQL nutzen. Damit sollte es ja gehen, wär ja seltsam wenn nicht. Und die Kosten im Monat sollten für die Personen vertretbar sein.

Gruß
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Mit jeder Datenbank hab ich eigentlich gemeint, dass ich nicht weiß ob das funktioniert, wenn sich die Hauptinstanz nicht auf Azure befindet; aufgrund der Sync Group.
Könnte sein, dass dies, wie so manches in Azure, ein explizites Feature ist (aber das weiß hier sicher jemand).
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Wollte das Ganze mal testen. Das ist ja echt nervig! Alle wollen irgendwelche Kreditkartendaten haben. Microsoft, Google, Amazon. Werd ich wohl in den sauren Apfel beißen müssen. :/

Aber bei dieser Cloudgestützten Lösung würde ich gern bleiben. Ist meiner Meinung nach am sinnvollsten.

Gruß
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

...kommt auf die Anforderungen bzgl. Datenschutz an.
Bei Microsoft speicherst Du stand heute eben in Amsterdam bzw. Dublin (in der Region Europa). Amazon hat ein RZ in Deutschland. Google in Dublin, NL und Finnland.
Ist in den meisten Fällen aber auch eine Glaubensfrage (bitte hier nicht darüber diskutieren).

Aber generell bin ich auch sehr offen gegenüber der Cloud (entwickle selbst dafür) und kann den Weg empfehlen.
Ist ziemlich stabil und leistungsstark, dabei aber sehr flexibel und kostengünstig.

Aber ja, die Rechnen alle über KK ab (völlig üblich in dem Bereich).
Bekommst aber eine saubere Rechnung bzw. bei Microsoft Azure einen 150€ Gutschein für die ersten 30 Tage.
Damit lässt sich schon ganz gut was anfangen.
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Um Datenschutz muss man sich auch Gedanken machen, aber mal ehrlich, man sollte es nicht übertreiben. Die Leute arbeiten mit Windows seit eh und je, ich arbeite mit Windows, ich programmiere in C# (auch von MS), warum also nicht auf bewährte Dinge zurückgreifen. Werde mir mal einen Testaccount einrichten und ein wenig "spielen".

Damit ich das jetzt noch mal richtig verstehe (grob umrissen):
1. Ich erstelle in Azure eine SQL Datenbank
2. lokal auf den PCs läuft der Sync Client, der die Daten erst mal lokal abspeichert und dann sobald Konnektivität besteht, auf die Azure DB überspielt
3. In meinem Tool muss ich dann nur noch eine ganz normale SQL Connection zu einer lokalen Datenbank aufbauen? Also so als wenn ich lokal einen SQL Server laufen hätte?

Danke erst mal für eure Tipps!!

Gruß

Edit: Ist wie gesagt das 1. Mal dass ich mich mit Cloudlösungen beschäftige. Privat ne NAS ja, aber so "richtig" Cloud, noch nie ;)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Trekki1990 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Getting Started with Azure SQL Data Sync (Preview)
Ich meine auch mich zu erinnern, dass das ein explizites Feature von Azure ist (also der SQL Data Sync).
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Hi,

ich breche mir schon seit Stunden einen ab.
Habe alles so wie aus der Anleitung gemacht. Inklusive Sync Agent und Group.
Wollte jetzt von meiner lokalen DB auf die AZURE DB synchronisieren.

Hier steht jetzt aber immer "Diese Datenbank ist leer, oder ihr Schema wurde nicht aktualisiert.".

Wenn ich auf Schema aktualisieren klicke, arbeitet er eine Weile
und dann kommt die Meldung, dass die Aktualisierung abgeschlossen wurde.
Die Meldung bleibt aber gleich (siehe oben).

Habe auch die Verbindung und den Agent alles noch mal neu angelegt,
ohne Erfolg. Irgendwas mache ich doch falsch??

Hat jemand eine Idee oder schon Erfahrungen damit?

Gruß
trekki
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Trekki1990 am .
private Nachricht | Beiträge des Benutzers
Trekki1990
myCSharp.de - Member

Avatar #avatar-2705.jpg


Dabei seit:
Beiträge: 503
Herkunft: Sachsen-Anhalt, Dessau

Themenstarter:

beantworten | zitieren | melden

Hi Leute,

warum auch immer, habe es jetzt ebend noch mal probiert.
Nun hat der Sync auf Anhieb geklappt, obwohl ich das gestern
genau so wie heute gemacht habe.

Frags Pferd ;)

Gruß trekki
private Nachricht | Beiträge des Benutzers