Avatar billede lybecker Nybegynder
15. juni 1999 - 10:58 Der er 5 kommentarer og
2 løsninger

Deling af Paradoxx databaser

Hvordan deler man én paradoxx db på et net mellem flere computere?
Hvis db ligger på server, og flere computere prøver at køre samme db, kommer følgende fejl:
Paradoxx log-filen kan ikke bruges.
.net i brug!
Avatar billede cyberesben Nybegynder
15. juni 1999 - 23:16 #1
*GG* du har hørt for meget 666 siden du skriver ParadoXX med i X'er
Avatar billede delphi Nybegynder
29. juni 1999 - 16:13 #2
Problemer er i den slags situationer ofte, at din Paradox net fil er åbnet af flere brugere på samme tid.  De enkelte brugere behøver ikke nødvendigvis at bruge samme application, men problemet opstår hvis de deler det samme IDAPI directory (hvor net filen er placeret).  Eksempelvis har vi i vores virksomhed et tidsregistrerings system, der køre i Paradox, og en række dataopsamlings applicationer (lavet af mig) der er baseret på Paradox tabeller.  Mine brugere havde tidligere samme problem.
Måden jeg løste dette problem på, var ved at oprette et IDAPI bibliotek (tag en rå kopi af dit standard IDAPI-dir) som et under bibliotek for hver application.  Således:

x:\yy\yy\Application
X:\yy\yy\Application\Data <- Paradox dir
x:\yy\yy\Application\IDAPI <- Idapi dir

I din application tilføjer du nu et TSession object på dit TDataModule.
Nogle af Session objectets properties skal nu justeres:
  Name = seSomeName
  NetDir = Path-Til-Dit-IDAPI-dir
  AutoSessionName = True

Check herefter at SessionName property værdien for alle dine TDataBase, TTAble og TQuery objecter indeholder værdien seSomeName (Bør de gøre af sig selv).

--
Mvh Niels Peter Gibe
Avatar billede sjensen Nybegynder
12. november 1999 - 09:21 #3
For at undgå problemer med Paradox i netværk er der 3 ting der SKAL være på plads, hvis man bruger BDE:

1. LOCAL SHARE = TRUE i "BDE: System, Init" (Ellers kan man ikke dele)
2. Alias path SKAL være ens for alle arbejdspladser, Både Drev og sti !!!
3. Alle applikationer på alle maskiner SKAL pege på den samme pdoxusrs.net. D.v.s at path under Drivers, Native, Paradox skal være ens for alle maskiner. Igen både med Drev og sti.

I mainprog, formcreate kan man sætte
Session.netdir := 'K:\dbs'; (hvor K er netværksdrev og DBS den uddelte resource). Dette overskriver indholdet af "BDE:Drivers, Native,Paradox, path =" for det pågældende program.

NB! Det er MEGET vigtigt at alias for programmet på alle arbejdspladser har nøjagtig samme udseende.

Og for at undgå Index fejl er det desuden en god ide at overholde følgende:

Ved Edit af en record: brug Table1.onediterror til at afgøre om du fik adgang til at editere recorden (eller om der måske er andre der pt. redigerer den) og
Ved Post (efter enten Insert eller Edit) i table1.onposterror at afgøre om recorden blev gemt. Hvis ikke så SKAL man kalde table1.cancel da recorden forbliver i hhv. Insert eller Edit mode.

Og så lige en enkelt ting til: lad være med at bruge table1.exclusive = true i table1.open med mindre det er absolut nødvendigt.

NB! "Delphi" ovenståênde forslag er OK, men rent faktisk er det slet ikke nødvendigt at have BDE installeret på maskinen. Nogle få indstillinger i maskinens registry der peger på en netværks resource der indeholder BDE er nok.

Se desuden www.borland.com/devsupport for yderligere hjælp og eksempler
Avatar billede delphi Nybegynder
08. december 1999 - 14:59 #4
Først: Halllooo -Lybecker har du stadig dit problem?

Dernæst:
SJensen> Jeg kan ikke rigtigt se hvorfor at de forskelige brugeres Alias skal være det samme.  Vi har hos os et antal applicationer, der benytter benytter opsamlede produktions data.  De her relevanter maskiner i produktionen er af forskellige typer og kører på alt fra Win3.x til WinNt - og de har ikke de samme drev mapninger som de kontor maskiner, som planlæggere mv. benytter når de skal se de samme data.

Eksempel:  En linie er udstyret med en Win 3.1/Delphi1 application og gemmer sine data i en paradox DB på en lille Novel server på et drev der er mappet son "H:".  Brugerene af disse data havde således også mappet det samme drev til "H:".  Der var således tale om ens Alias'er på opsamlingsmaskiner og bruger maskiner.
Siden denne application blev installeret, er det så overordnet besluttet, at alle medarbejdere skal have en fast mapning til vores store filserver og at denne mapning skulle hedde "H:". 
Det betød så, at de medarbejdere, der havde brug for at se de opmålte data, måtte have ændret deres mapning til novel database serveren - de bliver nu kaldt drev "U:", men altså kun på disse personers maskiner.  Data opsamlings PC'erne, der ikke har brug for adgang til filserveren, kalder stadig novel serveren for drev "H:". 
Tilsvarende blev de pågældende brugeres alias ændret og der er nu altså tale om to typer brugere/applicationer med hver deres alias parametre, der har tilgang til samme database.  Det er altså IKKE nødvendigt at aliasparametre er ens.


NiP/Delphi
Avatar billede sjensen Nybegynder
17. december 1999 - 13:05 #5
Delphi>Nej det er ikke nødvendigt hvis man kun åbner db i readmode.

Hvis du vil åbne og skrive i de samme db's OG UNDGÅ regelmæssige fejl i paradox/index så skal du bruge samme netdir (samme drev/sti), men selvfølgelig ikke nødvendigvis samme alias, sålænge hvert alias peger på samme netdir med samme drev og sti.

Se, der er jo ikke noget jeg har fundet på. Det er Borland der anbefaler dette hvis man læser alle de forskellige FQA og docs vedr. Delphi og Paradox tables, specielt når man søger efter f.eks. "Index out of date" årsager.

Hvis du ikke bruger samme drev/sti vil din OnEdit og OnPost events i Delphi ikke virke og du har ikke styr på at en anden pt redigerer den record du vil redigere. Resultatet er "Index out of date" bl.a.

Jeg har mange appls kørende i flerbruger miljøer med op til 25 brugere, med delphi og paradox, og jeg har indtil nu aldrig haft en eneste fejl i paradox eller indexet. De største af databaserne har recordstørrelser på 2-3k og hos en kunde registreres der 4-500 hver dag. DB filen fyldte på et tidspunkt (før vi slettede records) 162mb. Adgangen til data er dels i lokalnet og dels fra andre NT netværk, via frame relay og endeligt via Netop.

Og der er aldrig nogen fejl. Fordi jeg bruger samme sti og drev til alle.

sjensen
Avatar billede delphi Nybegynder
06. januar 2000 - 08:47 #6
Hallooo....
Avatar billede lybecker Nybegynder
11. oktober 2000 - 19:29 #7
I må sku\' undskylde at jeg ikke har accepteret svaret noget før, men jeg havde glemt alt om at jeg havde stillet dette spørgsmål...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester