/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Kopieret databasefil er "tom"
Fra : Kurt Guldbæk


Dato : 28-02-04 11:08

Jeg har nu lavet det som Tom-Vidar foreslog i mit forrige indlæg om 'Ingen
On Exception', nemlig:

If CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0 Then
MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);

Sætter jeg i første linie True til False i stedet for overskrives de gamle
filer ganske rigtigt, MEN når jeg vil se indholdet med Paradox7 eller
DeskTop databaser, er den kopierede fil tom. Filen står til 0 record i begge
programmer.

Bruger jeg i stedet WinCmd til at se indholdet som Hex er der data og den
originale og den kopierede fil har tilsyneladende samme filindhold. Laver
jeg checksum på dem er de ens.
Har jeg igen misforstået et eller andet?

--
Med venlig hilsen
Kurt Guldbæk
www.guldbaek.net



 
 
Henry (29-02-2004)
Kommentar
Fra : Henry


Dato : 29-02-04 11:42

> Jeg har nu lavet det som Tom-Vidar foreslog i mit forrige indlæg om 'Ingen
> On Exception', nemlig:
>
> If CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0 Then
> MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
>
> Sætter jeg i første linie True til False i stedet for overskrives de gamle
> filer ganske rigtigt, MEN når jeg vil se indholdet med Paradox7 eller
> DeskTop databaser, er den kopierede fil tom. Filen står til 0 record i
begge
> programmer.
>
> Bruger jeg i stedet WinCmd til at se indholdet som Hex er der data og den
> originale og den kopierede fil har tilsyneladende samme filindhold. Laver
> jeg checksum på dem er de ens.
> Har jeg igen misforstået et eller andet?
>
> --
> Med venlig hilsen
> Kurt Guldbæk

Hej Kurt

Prøv at forklare lidt mere om hvad det er du gør (udover at kopiere en fil)!

Hvis f.eks. det er BDE (Borland Database Engine) du bruger og du forsøger at
lave en backup af databasen (paradox filerne) så skal du tænke på at der kan
ligge data i cache på din PC som endnu ikke er skrevet til disken.

Du kan sagtens se at der er 0 records men stadigvæk data i filen hvis du
kikker i en HEX editor, det er fordi data ikke slettes men istedes markeres
"slettet" det sker af hensyn til performance, det er langt hurtigere at blot
markere en record slettet end at omstrukturere hele filen når en record
slettes
Derfor finders der også metoder til at "komprimere" databasen, dvs. slette
alle records fysisk der er markeret slettet.

mvh
Henry



Kurt Guldbæk (01-03-2004)
Kommentar
Fra : Kurt Guldbæk


Dato : 01-03-04 11:36

Jeg vender tilbage senere. Jeg tror at jeg er på sporet af en fejl.
Mvh Kurt

"Henry" <henry@nomail.com> wrote in message
news:4041c1db$0$1570$edfadb0f@dread14.news.tele.dk...
> > Jeg har nu lavet det som Tom-Vidar foreslog i mit forrige indlæg om
'Ingen
> > On Exception', nemlig:
> >
> > If CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0 Then
> > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
> >
> > Sætter jeg i første linie True til False i stedet for overskrives de
gamle
> > filer ganske rigtigt, MEN når jeg vil se indholdet med Paradox7 eller
> > DeskTop databaser, er den kopierede fil tom. Filen står til 0 record i
> begge
> > programmer.
> >
> > Bruger jeg i stedet WinCmd til at se indholdet som Hex er der data og
den
> > originale og den kopierede fil har tilsyneladende samme filindhold.
Laver
> > jeg checksum på dem er de ens.
> > Har jeg igen misforstået et eller andet?
> >
> > --
> > Med venlig hilsen
> > Kurt Guldbæk
>
> Hej Kurt
>
> Prøv at forklare lidt mere om hvad det er du gør (udover at kopiere en
fil)!
>
> Hvis f.eks. det er BDE (Borland Database Engine) du bruger og du forsøger
at
> lave en backup af databasen (paradox filerne) så skal du tænke på at der
kan
> ligge data i cache på din PC som endnu ikke er skrevet til disken.
>
> Du kan sagtens se at der er 0 records men stadigvæk data i filen hvis du
> kikker i en HEX editor, det er fordi data ikke slettes men istedes
markeres
> "slettet" det sker af hensyn til performance, det er langt hurtigere at
blot
> markere en record slettet end at omstrukturere hele filen når en record
> slettes
> Derfor finders der også metoder til at "komprimere" databasen, dvs. slette
> alle records fysisk der er markeret slettet.
>
> mvh
> Henry
>
>



Kurt Guldbæk (06-03-2004)
Kommentar
Fra : Kurt Guldbæk


Dato : 06-03-04 23:14

Så fandt jeg fejlen!
Jeg havde ikke sat de tabeller, som skulle kopieres, til Active:=False inden
jeg kopierede dem.

--
Med venlig hilsen
Kurt Guldbæk

"Kurt Guldbæk" <kurt@guldbaek.net> skrev i en meddelelse
news:404311f4$0$95048$edfadb0f@dread11.news.tele.dk...
> Jeg vender tilbage senere. Jeg tror at jeg er på sporet af en fejl.
> Mvh Kurt
>
> "Henry" <henry@nomail.com> wrote in message
> news:4041c1db$0$1570$edfadb0f@dread14.news.tele.dk...
> > > Jeg har nu lavet det som Tom-Vidar foreslog i mit forrige indlæg om
> 'Ingen
> > > On Exception', nemlig:
> > >
> > > If CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0 Then
> > > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
> > >
> > > Sætter jeg i første linie True til False i stedet for overskrives de
> gamle
> > > filer ganske rigtigt, MEN når jeg vil se indholdet med Paradox7 eller
> > > DeskTop databaser, er den kopierede fil tom. Filen står til 0 record i
> > begge
> > > programmer.
> > >
> > > Bruger jeg i stedet WinCmd til at se indholdet som Hex er der data og
> den
> > > originale og den kopierede fil har tilsyneladende samme filindhold.
> Laver
> > > jeg checksum på dem er de ens.
> > > Har jeg igen misforstået et eller andet?
> > >
> > > --
> > > Med venlig hilsen
> > > Kurt Guldbæk
> >
> > Hej Kurt
> >
> > Prøv at forklare lidt mere om hvad det er du gør (udover at kopiere en
> fil)!
> >
> > Hvis f.eks. det er BDE (Borland Database Engine) du bruger og du
forsøger
> at
> > lave en backup af databasen (paradox filerne) så skal du tænke på at der
> kan
> > ligge data i cache på din PC som endnu ikke er skrevet til disken.
> >
> > Du kan sagtens se at der er 0 records men stadigvæk data i filen hvis du
> > kikker i en HEX editor, det er fordi data ikke slettes men istedes
> markeres
> > "slettet" det sker af hensyn til performance, det er langt hurtigere at
> blot
> > markere en record slettet end at omstrukturere hele filen når en record
> > slettes
> > Derfor finders der også metoder til at "komprimere" databasen, dvs.
slette
> > alle records fysisk der er markeret slettet.
> >
> > mvh
> > Henry
> >
> >
>
>



Henry (07-03-2004)
Kommentar
Fra : Henry


Dato : 07-03-04 10:20

> Så fandt jeg fejlen!
> Jeg havde ikke sat de tabeller, som skulle kopieres, til Active:=False
inden
> jeg kopierede dem.

Hej Kurt

Husk at skrive dine svar under den tidligere tekst, det gør det lettere at
læse når det altid bliver gjort ens.

Det du oplever er jo netop det jer er inde på men måske ikke lige fik
skrevet direkte.

Det næste du sikkert vil opleve er, at hvis du laver et multiuser system
baseret på BDE og paradox/dBase så vil du før eller siden få problemer med
din backup hvis du forsøge at kopiere filerne direkte som du tilsyneladende
planlægger. Årsagen er at du aldrig kan være sikker på at der ikke er en
bruger logget ind og har en eller flere tabeller stående åbne.

Bare til info.

mvh
Henry



Kurt Guldbæk (08-03-2004)
Kommentar
Fra : Kurt Guldbæk


Dato : 08-03-04 16:35

"Henry" <henry@nomail.com> skrev i en meddelelse
news:404ae91d$0$1563$edfadb0f@dread14.news.tele.dk...
> > Så fandt jeg fejlen!
> > Jeg havde ikke sat de tabeller, som skulle kopieres, til Active:=False
> inden
> > jeg kopierede dem.
>
> Hej Kurt
>
> Husk at skrive dine svar under den tidligere tekst, det gør det lettere at
> læse når det altid bliver gjort ens.
>
> Det du oplever er jo netop det jer er inde på men måske ikke lige fik
> skrevet direkte.
>
> Det næste du sikkert vil opleve er, at hvis du laver et multiuser system
> baseret på BDE og paradox/dBase så vil du før eller siden få problemer med
> din backup hvis du forsøge at kopiere filerne direkte som du
tilsyneladende
> planlægger. Årsagen er at du aldrig kan være sikker på at der ikke er en
> bruger logget ind og har en eller flere tabeller stående åbne.
>
> Bare til info.
>
> mvh
> Henry


Hej Henry!
Det er godt nok BDE, jeg bruger.
Det der med multiuser ville jeg da gerne bruge, men det har jeg ikke begreb
om pt. Det ville jo nok være optimalt, men da programmet skal bruges flere
steder, der ikke har mulighed for at maskinerne er det nok ikke nok.
Derimod ville jeg gerne sidenhen kunne mixe det hele til een database, men
det må jeg se på senere.

Så er der det med at anbringe svaret i toppen i stedet for i bunden.
Jeg bruger Outlook Express, og den starter altså i toppen med svaret. Jeg
har egentlig en gang før fået at vide, at det er forkert, men jeg synes nu,
at der er gode argumenter for at svare i toppen:
1- Hvis man læser en tråd for at følge med i den, er det træls hver gang at
skulle blade til bunden i lange indlæg. Når man har læst alle indlæg er man
jo godt klar over hvad forrige indlæg gik ud på, og så er det langt lettere
blot at se i toppen!
2- Læser man et enkelt indlæg er der ofte klippet i det, så man ofte skal
læse nogle af de foregående for at følge udviklingen.

Men for at glæde dig har jeg altså svaret som systemet gerne vilhave det.

--
Med venlig hilsen
Kurt Guldbæk



Henry (09-03-2004)
Kommentar
Fra : Henry


Dato : 09-03-04 21:11

> Det er godt nok BDE, jeg bruger.
Fint nok til små systemer, BDE er en "frossen" teknologi, der udvikles ikke
længere på BDE, så
hvis du planlægger at bygget systemet større og med multiuser, så vil jeg
anbefale at du bruger
MSDE (Microsoft), mySQL eller en af de andre "gratis" DBS'er.
Du kan dog sagtens starte med BDE hvis du er i en "opstarts" fase.

> Det der med multiuser ville jeg da gerne bruge, men det har jeg ikke
begreb
> om pt. Det ville jo nok være optimalt, men da programmet skal bruges flere
> steder, der ikke har mulighed for at maskinerne er det nok ikke nok.
> Derimod ville jeg gerne sidenhen kunne mixe det hele til een database, men
> det må jeg se på senere.
Hvis du laver en relationel database model, så skal du sikre at du altid får
alle filer med
eller går det helt galt for dig.
Bruger du SQL (TQuery) eller bruger du TTabel?


> Så er der det med at anbringe svaret i toppen i stedet for i bunden.
> Jeg bruger Outlook Express, og den starter altså i toppen med svaret. Jeg
> har egentlig en gang før fået at vide, at det er forkert, men jeg synes
nu,
> at der er gode argumenter for at svare i toppen:
Sikkert, men det er de gængse regler for nyhedsgrupper.


> 1- Hvis man læser en tråd for at følge med i den, er det træls hver gang
at
> skulle blade til bunden i lange indlæg. Når man har læst alle indlæg er
man
> jo godt klar over hvad forrige indlæg gik ud på, og så er det langt
lettere
> blot at se i toppen!
Ja men så er de fordi de ikke følger de andre regler, nemlig at slette den
tekst der er unødvendig,
derfor bliver det meget lange indlæg man skal scrolle gennem.
Og hvis der svares inden i de tidligere indlæg, tja, så skal du jo ned
igennem alligevel.


> 2- Læser man et enkelt indlæg er der ofte klippet i det, så man ofte skal
> læse nogle af de foregående for at følge udviklingen.


> Men for at glæde dig har jeg altså svaret som systemet gerne vilhave det.
Åh, jeg (vi) takker


mvh
Henry



Kurt Guldbæk (10-03-2004)
Kommentar
Fra : Kurt Guldbæk


Dato : 10-03-04 23:14

> Fint nok til små systemer, BDE er en "frossen" teknologi, der udvikles
ikke
> længere på BDE, så
> hvis du planlægger at bygget systemet større og med multiuser, så vil jeg
> anbefale at du bruger
> MSDE (Microsoft), mySQL eller en af de andre "gratis" DBS'er.
> Du kan dog sagtens starte med BDE hvis du er i en "opstarts" fase.

Både og!! Jeg startede med D5 for omkring 10 måneder siden, så jeg kender
kun BDE.

> Hvis du laver en relationel database model, så skal du sikre at du altid
får
> alle filer med
> eller går det helt galt for dig.
Det er relationer, pt. 12 databaser, der kører sammen på flere måder. Og jeg
har på den hårde måde opdaget det med at huske at få indexfiler mm med ved
kopiering

> Bruger du SQL (TQuery) eller bruger du TTabel?
Mest TTable, men enkelte steder SQL.

Med venlig hilsen
Kurt Guldbæk




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste