[Vb.net + SQL] Database zowel op netwerk als lokaal

Pagina: 1
Acties:

  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 20:48
Ik ben dus bezig voor mezelf bezig met een klein facturatiesysteem te schrijven. Maar om dit nadien misschien verder te bouwen voor andere mensen. Wil ik alles al voorzien voor verdere aanpassingen en uitbreidingen.

Daarmee wil ik ervoor zorgen dat wanneer de sql database op de server beschikbaar is dat deze gaat werken via de database op de server. Maar wanneer de verbinding naar de server niet meer bestaat zou het dus lokaal moeten gaan werken. (Per filiaal)

En wanneer je meerdere filialen hebt. Krijg je ook een hoofddatabase en voor andere filialen een clientdatabase.
Maar hoe kan ik ervoor zorgen dat er geen dubbele artikelen aangemaakt worden.
Hoe kan ik ervoor zorgen dat factuurnummers niet mekaar gaan overlappen.
.....
En dit zowel op filiaal en lokaal niveau.

Hebben mensen hier ervaring mee?
Zou ik werken via GUID's ? Of via een andere nummering?
Op lokaal niveau read only tabellen maken? Maar hoe dan op filiaal niveau.

Iemand die me op weg kan helpen, hoe ik dit kan oplossen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Wat bedoel je met 'lokaal' werken ?
Iedereen z'n eigen DB op z'n eigen pc , of bedoel je : één database per filiaal ?

In het 2de geval:
waarom laat je niet iedereen op de server per filiaal werken , en zet je gewoon alle databases in merge-replication ?

https://fgheysels.github.io/


  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 20:48
whoami schreef op donderdag 20 augustus 2009 @ 23:19:
Wat bedoel je met 'lokaal' werken ?
Iedereen z'n eigen DB op z'n eigen pc , of bedoel je : één database per filiaal ?

In het 2de geval:
waarom laat je niet iedereen op de server per filiaal werken , en zet je gewoon alle databases in merge-replication ?
Ik bedoel met lokaal. Ja per filiaal 1 database op de server. Maar wat als netwerkverbinding uitvalt naar server.
Dan een database op iedere pc. Om toch verder te kunnen werken.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Hoe vaak gaat de netwerk verbinding uitvallen ?

Dit is volgens mij een serieus geval van YAGNI.

https://fgheysels.github.io/


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 18-09 20:25

TeeDee

CQB 241

* TeeDee agrees:YAGNI. Je bent bezig om voor jezelf een klein facturatie programma te schrijven en je denkt nu al over meerdere filialen, meerdere DB's, conflicten en weet ik veel wat nog meer.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 20:48
Je kan beter zo'n dingen voorzien dan het later allemaal niet goed meer kunnen aan te passen. Of rare dingen gaan doen.

En het is niet van misschien verder uitwerken voor andere. Maar zeker uitwerken voor andere. Zo heb nog eens een leuke uitdaging om te doen.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Ja, ik kan ook in mijn pakket al allerhande dingen gaan voorzien waarvan ik nu denk dat het wellicht ooit wel eens nodig zou kunnen zijn ... Of waarvan ik nu veronderstel dat dit in de toekomst nodig zal zijn .
Met als gevolg dat:
- ik dan nu alles al veel complexer moet gaan maken, terwijl dit nu helemaal niet nodig is
- het veel langer duurt eer ik de functionaliteit die nu nodig is, beschikbaar kan maken.

Het is beter om je applicatie nu zo eenvoudig mogelijk te maken (enkel de dingen te implementeren die je nu nodig hebt). Dan kan je later dit nog altijd gaan inbouwen, en desnoods zal je dan wel een beetje moeten refactoren.
Als je nu al rekening gaat houden met die situatie, dan ga je nu misschien een complexe structuur gaan opbouwen, die misschien het misschien ook niet zal mogelijk maken om de functionaliteit die je naderhand wenst in te bouwen. (Specs die veranderd zijn bv). En dan zal het veel moeilijker zijn om heel je boeltje nog aan te passen.
Hoe eenvoudiger je een probleem oplost, hoe makkelijker je de implementatie naderhand kunt veranderen.

Dit is gewoon een kwestie van KISS toe te passen.

Nouja, jij je zin.
Ik zou gewoon per filiaal een DB server neerzetten, en mocht dat nodig zijn zet je al die DB's per filiaal in replicatie.

https://fgheysels.github.io/

Pagina: 1