Maandelijks Archief: oktober 2014

Uw Venice gegevens bewaren op een NAS of niet-Windows server

U wil de Venice (Lite) data bewaren op een NAS (Network Attached Storrage), of op een server die uitgerust is met een ander besturingssysteem dan Windows of Linux.

Tijdens de installatie van Venice krijgt u een foutmelding dat op het opgegeven serverpad geen Pervasive.SQL actief is en het pad niet wordt aanvaard.

Oorzaak

Venice maakt gebruik van Pervasive.SQL als gegevensbeheerder. Hierbij wordt verwacht dat het eigenlijke gegevensbeheer kan uitgevoerd worden op een bepaald toestel (= de server) in uw netwerk en dat de gevensbestanden zich ook op de lokale harde schijf van dat toestel bevinden.

Op uw server moet u dus de gegevensbeheerder installeren. Andere toestellen op het netwerk die de gegevensbestanden willen aanspreken doen dit door te communiceren met deze gegevensbeheerder die de gevraagde acties uitvoert.

Oplossing

De ideale oplossing is dat u effectief de hierboven beschreven aanpak volgt. Concreet betekent dit dat u moet overwegen om de server te vervangen door een computer met Windows (met een Pervasive Workgroup engine of Pervasive Server engine) of een Linuxserver (met een Pervasive Server engine) zodat u een normale ondersteunde situatie heeft.

Als dit niet kan, dan kan u de hieronder beschreven workaround gebruiken, echter met volgende belangrijke gevolgen en beperkingen:

  • Deze workaround is enkel bruikbaar voor een Venice workgroup.
    De Pervasive.SQL server engine laat immers niet toe om remote data te beheren.
  • Als gevolg hiervan is deze workaround beperkt tot een maximum van 5 gebruikers voor facturatie en boekhouding.
  • U zult een van de computers met een Windows besturingssysteem in uw netwerk moeten aanstellen als ‘gateway’.
    - De gateway voert het eigenlijke gegevensbeheer uit en verwerkt de aanvragen van de andere computers in uw netwerk.
    - De gateway moet u anders behandelen dan de overige computers in uw netwerk. De gateway moet opgestart worden vooraleer u op een van de andere toestellen Venice kan gebruiken en u mag de gateway pas herstarten of uitschakelen nadat op alle andere computers Venice is afgesloten.
    - De overhead dit dit veroorzaakt op deze gateway kan een negatieve performantie impact hebben op de andere programma’s die op deze pc draaien.
    - De activiteit van andere programma’s op deze gateway kan natuurlijk evengoed een impact hebben op Venice.
  • Deze oplossing is minder performant.
    In ieder geval is het benaderen van bestanden over het netwerk minder performant dan het benaderen van bestanden op de lokale harde schijf.
  • Hogere netwerkbelasting.
    Elke aanvraag naar de gegevensbestanden wordt nu tweemaal over het netwerk gestuurd. Eenmaal tussen een werkstation en de gateway en eenmaal van de gateway naar de server.
  • Deze oplossing is minder stabiel.
    Ook dit is een direct gevolg van het benaderen van remote bestanden. In plaats van één punt waarop iets kan mislopen (de server) heeft u er nu meerdere. De server, het netwerk en de gateway.
  • Deze oplossing is minder veilig.
    Deze workaround vereist specifieke instellingen in uw netwerkbeveiliging die een poortje bieden voor malafide software en/of gebruikers.
  • Geen toekomstgarantie.
    Deze workaround maakt gebruik van specifieke instellingen in het besturingssysteem en in het Pervasive.SQL gegevensbeheer. UNIT4 C-Logic kan niet garanderen dat deze werkwijze ook op nieuwe versies van Windows en voor nieuwere versies van het Pervasive.SQL gegevensbeheer zal blijven functioneren.
  • Extra complexiteit.
    Het initieel installeren van deze workaround vergt extra manuele stappen, en ook latere uitbreidingen aan Venice kunnen extra manuele stappen met zich meebrengen.
  • Afgeraden.
    UNIT4 C-Logic raad deze werkwijze af. We bieden deze informatie ‘as is’ zonder enige waarborg. Technische tussenkomsten vanwege problemen die hierbij zouden ontstaan, zullen dan ook steeds leiden tot een gefactureerde interventie

Het is aangeraden om uw netwerkbeheerder en/of softwareleverancier te consulteren om na te gaan als deze workaround voor u een uitkomst biedt. Laat u bij het toepassen van deze workaround bijstaan door uw softwareleverancier of systeembeheerder.

Keuze van de gateway.

Duidt een van de windowsmachines in uw netwerk aan als gateway. Dit is het toestel dat het gegevensbeheer zal uitvoeren ten behoeve van de andere werkstations op het netwerk. Venice zal op de andere werkstations niet functioneren als dit toestel niet opgestart is. Opgelet ook: als u dit toestel uitzet verliezen de andere werkstations hun verbinding met de database en al het werk dat nog niet werd bewaard gaat verloren.

Pas de Windowsconfiguratie van dit toestel aan zodat het beter voldoet aan de noden en eisen van een server.

  • Pas het energiebeheer aan zodat dit toestel niet automatisch naar sluimerstand of slaapstand overschakelt. Het automatisch uitschakelen van scherm is geen probleem maar bv. uitschakelen van netwerkkaart of harde schijf is dat wel. Ook omschakelen van de CPU naar een lager verbruik (doorgaans door de snelheid te verlagen) is geen goed idee.
  • U mag een screensaver gebruiken, maar stel deze in op een screensaver die weinig invloed heeft op de performantie.
  • Als gateway kan u best een bestaande server gebruiken, aangezien deze in de regel performanter zijn, en steeds aan blijven staan.

Installatie

  • Installeer Venice op de gateway, kies voor een standaard installatie
  • Als u (nog) niet over een registratiesleutel beschikt:
    Start Venice. Meld u aan en vul de registratieaanvraag in (Kies voor de Venice-knop, Registratie, Aanvragen). De registratieaanvraag stuurt u door en u wacht op antwoord.
  • Start Venice. Meld u aan en kies voor Venice-knop, Registratie, Aanpassen. Vul de ontvangen registratiegegevens in.
  • Verlaat Venice en herstart Venice.

Na het aanmelden zorgt Venice voor een correct toepassen van de gebruikerslicenties in het gegevensbeheer en worden deze ook geactiveerd. Dit vereist een actieve internetverbinding.

U kunt controleren of de activering van de gebruikerslicenties gelukt is via de Pervasive.SQL License administrator.

  • Kies Start, Alle Programma’s, Pervasive, PSQL 11, Utilities, License Administrator.
  • Als alles gelukt is, dan moet u hier één of meerdere lijnen zien waarvoor ‘License type’ op ‘Permanent’ staat en waar de ‘Vendor’ op 6285 staat.

Basispad verplaatsen naar de server

  • Verlaat Venice
  • Verplaats (bv. met Windows verkenner) de map van het basispad naar een map op de server. Dit mag niet de rootdirectory van een schijf zijn.
  • U moet ook een netwerkshare aanmaken voor deze map. Zorg voor passende bestands- en netwerk-rechten op deze map. Alle gebruikers die Venice moeten kunnen starten moeten in deze map (en onderliggende) kunnen lezen, schrijven en schrappen.
  • Start de Register-editor (RegEdit):
    - Ga naar: HKEY_LOCAL_MACHINE\SOFTWARE\C-Logic\Venice
    - Hier moet u een waarde terugvinden met naam “RootDir”. Deze RootDir verwijst naar het basispad waar u Venice heeft geïnstalleerd (het pad dat u ondertussen heeft verplaatst). U past dit aan naar het nieuwe pad op de server (vb. \\servernaam\Venice ). Er mag geen backslash aan het einde van dit pad voorkomen.
    - Verlaat RegEdit
  • Start Verkenner:
    - Ga naar het basispad op de server en open de map Main.
    - Open het bestand ClMain.ini met Kladblok (Notepad).
    In de sectie [Status] voegt u volgende regel toe:
    ServerWithEngine=0

Pervasive.SQL service aanpassen

Pervasive.SQL wordt geïnstalleerd als Service en zal normaal ook onder de gebruikersaccount SYSTEM of LOCAL SERVICE draaien. Dit is goed als de gegevensbestanden lokaal staan, maar u wilt de gegevensbestanden op het netwerk benaderen. De Pervasive.SQL service moet dus aangepast worden om onder een user account te draaien die voldoende rechten heeft op uw server. U moet mogelijks hiervoor een extra gebruiker toevoegen in uw server.

  • Kies voor Start, Configuratiescherm (Control Panel), Systeem en beveiliging (System and Security), Systeembeheer (Administrative Tools), Services.
  • Dubbelklik op de Pervasive PSQL Workgroup Engine.
  • Selecteer het Aanmelden (Log on) tabblad
  • Stel in om een expliciete gebruiker te gebruiken, deze gebruiker moet rechten hebben op de server, en moet tevens gebruikt kunnen worden door een lokale service.
  • Start en stop de service

Vastleggen van de gateway voor het Pervasive.SQL gegevensbeheer

Met wat we tot nu hebben gedaan zal Venice in principe al werken, maar het eerste toestel dat de Venice gegevens benadert zal telkens proberen het gegevensbeheer op zich te nemen. Dit zal niet werken, omdat er op slechts één toestel (de gateway) gebruikerslicenties aanwezig zijn. We moeten dus instellen dat telkens hetzelfde toestel de gateway zal zijn.

  • Kies op de gateway voor Start, Alle Programma’s, Pervasive, PSQL 11, Utilities, Gateway Locator
  • Bij ‘Target Directory’ vult u het pad in naar de map ‘Main’ onder het Venice basispad op de server.
  • Klik op de Change-knop.
  • Kies voor ‘Assign a gateway’.
  • Controleer of de computernaam van de gateway ingevuld staat en pas aan indien nodig.
  • Klik OK
  • Herhaal deze stap voor de map ‘Data’ onder het Venice basispad.
  • Als u later bijkomende dossierkasten nodig heeft, zal u deze stap voor elke extra dossierkast moeten uitvoeren.

Dossierkast aanpassen.

Start Venice. Als u alle stappen goed heeft uitgevoerd, dan zal Venice opstarten. In het hiërarchisch overzicht zal u echter nog de verwijzing hebben naar ‘Standaard dossierkast’. Als u het basispad heeft verplaatst, zal hier een rood kruis bij staan. Als u het enkel heeft gekopieerd dan zal dit er nog normaal uit zien. Het verwijst in elk geval nog naar de lokale schijf van de gateway.

  • Klik met de rechtermuisknop op de dossierkast, en kies voor ‘Dossierkast loskoppelen…’. Bevestig de loskoppeling.
  • Klik met de rechtermuisknop op ‘UNIT4 C-Logic’ en kies voor ‘Dossierkast aankoppelen…’.
  • Selecteer de map ‘Data’ onder het basispad op de server en klik op OK.

De andere werkstations.

De installatie van de gateway omgeving is nu voltooid. Voor de andere werkstations is geen speciale behandeling nodig, u voert gewoon ‘Activering werkstation’ onder het Venice basispad op de server uit.

Nog een woordje over NAS versus SAN

De definitie van een NAS staat hier goed beschreven. Vaak is er verwarring met een SAN. Op een SAN is dit support artikel niet van  toepassing, een SAN is immers wel ondersteund. Sommige NAS’en gedragen zich in de praktijk als een SAN, in die zin dat de NAS-schijven als lokale schijven zichtbaar gemaakt kunnen worden (in plaats van als netwerkschijven). Vaak gebeurt dit door middel van iSCSI-ondersteuning.

Een NAS waarvan de schijven via het iSCSI protocol kunnen aangeboden worden op uw server, is wél ondersteund. Dit artikel is dus enkel van toepassing op NAS toestellen zonder iSCSI ondersteuning.

Enkele tips bij het importeren van gegevens

Via de Import module kan je in Venice data importeren. Hiervoor heb je een gegevensbestand nodig, en een beschrijvend bestand. Het beschrijvend bestand mapt de stukjes data in het gegevensbestand naar de juiste velden in de Venice database.

Als er iets fout loopt bij het importeren, dan is het niet altijd duidelijk waar het nu aan ligt. Het is mogelijk dat de structuur van het gegevensbestand wel klopt met het bijhorende beschrijvend bestand, maar dat de gegevens inhoudelijk niet correct zijn. Hierdoor kan Venice een validatiefout geven. Bv. je probeert klanten in te lezen, maar de firmanaam is niet ingevuld. In Venice kan je geen klanten aanmaken zonder een firmanaam, in zo’n geval krijg je dus een duidelijke foutmelding.

Het is echter ook mogelijk dat er een fout is gemaakt bij het opmaken van het beschrijvend bestand, waardoor de mapping in het honderd loopt. Een probleem dat we af en toe zien, is dat er iets mis loopt met het afbakenen van de velden, waardoor Venice data in een verkeerd veld probeert te schrijven. In zo’n geval kan je een validatiefout krijgen die je op het verkeerde been zet.

Het is niet altijd even duidelijk waar je precies moet beginnen zoeken in zo’n geval. Gelukkig biedt Venice de mogelijkheid om een logbestand aan te maken tijdens het importeren. Hierdoor kan je zien welke data Venice in welk veld probeert te stoppen, en op welk punt het precies fout loopt. Dit logbestand kan dus veel werk (en tijd) besparen!

Hoe ga je te werk om dit logbestand aan te maken?

  1. Open de registry van Windows (via regedit.exe), en navigeer naar
    HKEY_LOCAL_MACHINE\SOFTWARE\C-Logic (op een 32-bits Windows pc)
    of HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\C-Logic (op een 64-bits Windows pc)
  2. voeg in het rechterpaneel een Tekenreekswaarde (REG_SZ) toe met als naam ImportLog en als waarde Yes.
    importlog
  3. Navigeer naar HKEY_CURRENT_USER\Software\C-Logic
  4. Klik met de rechtermuisknop op C-Logic, en voeg een sleutel toe met als naam Import.
  5. voeg een Tekenreekswaarde (REG_SZ) toe met als naam DebugLog en als waarde map en bestandsnaam (waar u de logfile wil bewaren).
    (de mapnaam moet verwijzen naar een reeds bestaande map waarop u schrijfrechten hebt)
    debuglog
  6. Sluit Venice af en start opnieuw op
  7. Onderaan het importeren venster ziet u nu een extra parameter DebugLog verschijnen:
    importscherm-debug
  8. Vink DebugLog aan, en importeer het gegevensbestand
  9. Als er een foutmelding verschijnt, klik deze dan eerst weg (anders zal het logbestand nog geen gegevens bevatten)
  10. Open nu het logbestand (bv. via notepad). In het logbestand kan u terugvinden welke data Venice in welk veld probeert weg te schrijven. Het logbestand breekt af op de plaats waar er een fout optrad. Zo kan u nagaan waar ongeveer de fout zich voordeed.

Een aantal mogelijke fouten die u zo kan achterhalen:

  • een verschuiving van de velden: de gegevens worden niet ingelezen in de juiste velden
  • fout bij de afbakening van de velden: er wordt maar een stuk van een veld ingelezen, bv. omdat er een probleem is met het veldscheidingsteken
  • het verkeerde type wordt ingelezen: een tekst in een numeriek veld (of omgekeerd)

U kan beter steeds meteen naar het einde van het bestand gaan, want daar zal de meest relevante informatie terug te vinden zijn:

Importing Numeric: @ASL.BaseFinDiscountDocC at 25, 1, length=End Contents="0"
 Importing Numeric: @ASL.BaseNotSubmitDocC at 26, 1, length=End Contents="0"
 Importing Numeric: @ASL.VatDueNormDocC at 27, 1, length=End Contents="0"
 Importing Numeric: @ASL.VatDedNormDocC at 28, 1, length=End Contents="210"
Processing [$Assign.ASL]
 Assign: @ASL.DocType = 0
 Assign: @ASL.TsmNumber = ""
Processing [$Import.ENT], #1
 Importing String : @ENT.Account at 29, 1, length=End Contents="0"
 Importing Numeric: @ENT.AmountDocC at 30, 1, length=End Contents="700000"
 Importing String : @ENT.Remark at 31, 1, length=End Contents="-1000"
Processing [$Assign.ENT]
 Assign: @ENT.IsCredit = 0
Processing [$Import.ENT], #2
 Importing String : @ENT.Account at 32, 1, length=End Contents="1"
 Importing Numeric: @ENT.AmountDocC at 33, 1, length=End Contents="END"
 Importing String : @ENT.Remark at 34, 1, length=End Contents=""