FFB5 - databaskoppling mot databasserver - anvisningar för installation och skötsel


Introduktion
Starta databasserver
Sätta upp FFB:s databaser och användare på databasservern
Klientinställningar
Driftproblem

Introduktion

FFB5 har två sätt att kontakta sin databas: Direkt via lokal databaskoppling eller indirekt genom att all kontakt med databasen går via en databasserver.

Vart och ett av alternativen har sina för- och nackdelar. Den stora fördelen med den lokala databaskopplingen är enkelheten. Inga extra åtgärder behövs vid installation eller senare för att systemet skall hitta och använda sin databas. Till nackdelarna med den lokala databaskopplingen hör att prestanda kan bli dåliga i ett långsamt eller hårt trafikerat nätverk. För- och nackdelar med servermodellen är ungefär de motsatta: Kräver en hel del extra åtgärder för att komma igång, är omständligare att sköta och underhålla, men kan ge bättre prestanda i långsamma nätverksmiljöer.

Vilken är då skillnaden mellan dessa lägen? Här följer en kortfattad och något förenklad beskrivning:

Vid installation av FFB5 läggs serverprogram, serveradminprogram och tillhörande filer i FFB:s undermapp cs enl följande:

Programmen måste inte ligga på just den plats de installerats till. Om du av någon anledning vill placera dem på annan plats på den filserver som härbärgerar FFB-systemet så går det bra att göra det. Se bara till att flytta hela mappen som härbärgerar serverprogram resp adminprogram så att alla nödvändiga filer flyttas med.

Starta databasserver

Databasservern kan köras som vanlig applikation eller installeras som en tjänst. Här redovisas endast alternativet normal applikation. För att installera som tjänst se dbsrvr.hlp i samma mapp som serverprogrammet.

VIKTIGT! Serverprogrammet måste startas från filserverns konsol. Du kan starta serverprogrammet från konsolens utforskare eller Startmeny | Kör genom att navigera till serverprogrammets mapp och välja dbsrvr.exe. Programmet kan också startas med parametrar (för redovisning av samtliga parametrar se dbsrvr.hlp. I normalfallet räcker det med att starta utan parametrar.

Andra portar

dbsrvr.exe använder portarna 12005 och 12006 som standardinställning. Om du av någon anledning behöver använda andra portar (t ex p g a att det redan körs en Dbisam databasserver av annan version än 3.29 på den aktuella filservern) måste du starta servern med parametrar för portar. Portparametrarna är: /SPnnnnn /APnnnnn där nnnnn anger portens nummer. För att exempelvis starta servern med serverport 49152 och adminport 49153 ger du följande kommando: dbsrvr.exe  /SP49152  /AP49153. Om detta behov mot förmodan skulle uppstå, kan det vara bekvämast att skapa en .bat-fil som startar servern och lägga en genväg till .bat-filen på serverkonsolens startmeny eller skrivbord. .bat-filexempel:
echo off
start dbsrvr.exe  /SP49152  /AP49153

När servern är startad, visas den som en ikon nedre högra hörnet av serverkonsolens skärm. Du kan öppna serverprogrammet genom att högerklicka på ikonen (Open). Från menyn kan du också tillfälligt stoppa servern (Stop) eller stänga av den (Exit).

Sätta upp FFB:s databaser och användare på databasservern

Innan FFB-användare kan logga in som klienter till databasservern måste du:

Dessa uppgifter utför du från serveradministrationsprogrammet srvadmin.exe. Starta det genom att navigera till dess mapp via utforskaren eller Startmeny | Kör.... VIKTIGT! srvadmin.exe måste startas från filserverns konsol, inte från arbetsstation. Om du kör serverprogrammet på annan adminport än standardporten 12006 skall du som första åtgärd i srvadmin.exe, välja File | Options och i dialogen som visas, ändra inställd port till den du valt när du startade dbsrvr.exe.

Logga in mot databasservern. Välj File | Login to server
I logindialogen Remote login anger du följande

User name: Admin
Password: DBAdmin
och klicka på OK. OBS att inloggingen skiljer på gemener och versaler.

När du blivit inloggad, väljer du fliken Server så att serverinställningarna visas. Här är det viktigt att du kontrollerar att rutan Temp files directory pekar på en mapp som verkligen existerar och som dbsrvr.exe har fulla rättigheter till. Om så inte är fallet, klicka på knappen Edit och ändra Temp files directory till ett giltigt värde, och spara ändringen.

I nästa steg skall du lägga upp användaren ffb (om den inte redan finns definierad). Klicka på fliken Users och därefter på knappen Add
I dialogen User information anger du följande:

User name: ffb 
Password: ffb
OBS! Uppgifterna måste anges exakt enl ovan.

Rekommenderas att du också tilldelar användaren ffb administratörsrättigheter genom att kryssa i rutan Administrator. Om användaren ffb inte har administratörsrättigheter, kommer inte användarna kunna köra rutiner för optimering eller reparation av databas. Det går att komma runt detta problem genom att tillfälligt ställa om systemet till lokal databasanslutning varje gång som reparationsrutiner eller optimeringsrutiner behöver köras (se vidare inställningar).

Klicka sedan på Save

Om du så önskar, kan du också passa på och ersätta administratörsuppgifterna med dina egna användarkoder och lösenord.

I nästa steg skall du lägga upp alias för FFB:s databas.

FFB behöver ytterligare två alias mot databasen. Upprepa alltså proceduren ovan men med följande namn:
ffbLogin
Detta alias skall peka på samma mapp som du angivit för aliaset ffb Slutligen skall du lägga till aliaset inmemory. (Om detta redan finns definierat behöver du inte ändra något i den definitionen utan kan gå vidare till nästa steg). Detta skall inte peka på den fysiska databasen. Istället för att klicka på knappen Select... skall du i detta fall skriva in följande i rutan Directory: Memory

När du är klar skall alltså följande databaser redovisas i rutan Available databases:

ffb
ffbLogin
inmemory

I nästa steg skall du knyta ihop databaser och användare:



Upprepa samma procedur med databaserna ffbLogin och inmemory så att alla tre blir knutna till användaren ffb med fullständiga rättigheter.

När du är klar, skall alla tre databaserna redovisa användaren ffb som database user.

Klientinställningar

Det finns också ett grafiskt gränssnitt för nedanstående inställningar att vid behov användas av mindre datorvana användare

För att databaskoppling via databasserver skall fungera, krävs också vissa inställningar på klientsidan. Dessa görs i filen dbsess.ini som återfinns i FFB:s huvudmapp. Öppna den med Anteckningar. I ett nyinstallerat system ser den ut ungefär så här:

[session]
; remote=0 sätter databaskoppling till local mode
; remote=1 sätter databaskoppling till server mode
remote=0
; rtLan (värde: 0) väljs om bandbredd är >= 10 Mbps
; rtInternet (värde: 1) väljs om bandbredd är < 10 Mbps
; default är rtLan (alltså 0)
remotetype=0
; remoteaddress och remotehost. Båda eller endast en av dem kan anges
; om båda anges gäller i första hand vad som angivits i remotehost
; i remoteaddress anges ip-adressen till den server som härbärgerar databasservern
; i remotehost anges namnet på den server som härbärgerar databasservern
; tilldelade värden i de bortkommenterade nycklarna nedan är bara exempel
; du måste ersätta värdena med vad som gäller för just ditt system
; remoteaddress=10.10.10.10
; remotehost=localhost
;remoteport skall bara anges om default port av någon
;anledning är upptagen eller ej kan användas av annan orsak.
;default port för dbisam server är 12005
; om annan port måste väljas t ex p g a att flera Dbisamservrar i olika versioner
; behöver köras på samma server, välj då företrädesvis en port i spannet
; 49152 -- 65535 som är det intervall som är avsett för privata/dynamiska portar
;remoteport=49152
För att koppling mellan klient och server skall fungera, måste du i denna fil alltid ställa in adressen till den filserver som härbärgerar databasservern. Detta åstadkommer du genom att fylla i serverns ip-adress efter nyckelordet remoteaddress och/eller fylla i servernamnet efter nyckelordet remotehost Om din server skulle ha adressen 10.10.10.10 eller heta srv001 skulle det alltså anges så här under sektionen [session]
remoteaddress=10.10.10.10
remotehost=srv001
Om du varit tvungen att starta databasservern på annan port än standardporten 12006 måste du också fylla i vilken port anslutningen sker över, efter nyckelordet remoteport och avkommentera den inställningspunkten.

Spara den ändrade dbsess.ini

Slutligen, för att testa att de ändrade inställningarna också fungerar, välj en tidpunkt när ingen annan använder systemet. Ändra sedan värdet efter nyckeln remote till en etta.
remote=1
Testa därefter att starta FFB:s startmeny. Om programmet går att starta utan felmeddelanden så fungerar dina serverinställningar. För säkerhets skull kontrollera dock genom att från startmenyn välja Hjälp | Om FFB.... Du får då fram en informationsruta, i vilken du långt ned i texten hittar Databaskoppling. Efter Databaskoppling skall det stå databasserver. Om det trots dina ändringar, fortfarande anges Databaskoppling lokal databasmotor beror det troligtvis på att du glömt att spara ändringar i dbsess.ini

Om du får ett felmeddelande liknande detta

DBISAM engine error #11276 The connection to the database server at 'localhost' has been lost
omedelbart efter programstart, är det något i dina inställningar som är fel eller något annat som är bortglömt. Är servern startad? Rätt portar inställda? Serveradress/servernamn i dbsess.ini korrekta? Om det är svårt med tid till felsökning återställer du systemet till lokal databasmotor genom att sätta remote=0 och spara dbsess.ini och uppskjuter felsökningen till ett senare tillfälle.

Det finns också grafiskt gränsnitt till inställningarna i dbsess.ini, du hittar dem genom att göra följande: Från FFB:s startmeny välj: Starta program | Systemadministrativa rutiner | Allmänna inställningar FFB:s program för allmänna inställningar visas då i ett litet fönster visas då på skärmen. Från programmets meny välj: Globala inställningar | Databaskoppling...


Så kommer du vidare till inställningsformuläret

Driftproblem

Om ni väljer att köra FFB via databasserver, bör ni organisera detta så att användare av systemet, på ett enkelt sätt kan komma åt att stänga av och starta om databasservern. Det är nämligen så att om ett klientprogram avslutas onormalt (t ex att datorn stängs av medan programmet är igång) så blir inte de databasfiler som öppnats av klienten, stängda. Om detta inte åtgärdas, visar sig problemet troligtvis på så sätt att användaren möts av beskedet att alla licenser är upptagna, trots att färre än tillåtet antal är inloggade. Problemet åtgärdas genom att databasservern stängs och startas på nytt.