Avatar billede mora Nybegynder
03. november 1999 - 09:25 Der er 22 kommentarer og
1 løsning

database uden borland engine

Hvordan kan jeg lave en database i delphi, der ikke har brug for borland database engine?
Avatar billede gusse Nybegynder
03. november 1999 - 10:02 #1
f.eks 
  http://www.turbopower.com/products/flashfiler/

FlashFiler 1.5 is the professional, compact, multi-user,                              client/server database engine for programmers developing
applications with all versions of Borland Delphi or C++Builder 3.

Better than the BDE!
FlashFiler is small and easier to deploy than the bulky Borland
Database Engine. Just build your application normally, then ship it
anywhere along with our royalty-free FlashFiler Server.
Single-user applications can even compile FlashFiler right in so
there's only one EXE to deliver!

Jeg har org. flashfiler liggende du kan købe billigt, hvis du vil. Har du nogle spørgsmål er du velkommen til at maile mig -> gusse@image.dk

Avatar billede kasparp Nybegynder
03. november 1999 - 13:18 #2
Du kan finde en masse komponenter til det formål på http://www.torry.ru
Avatar billede mora Nybegynder
03. november 1999 - 14:55 #3
>>>kasparp Det er ikke et svar men et link, jeg kan ikke finde noget(har ikke hele dagen til at surfe rundt efter en evt. løsning)
Avatar billede kasparp Nybegynder
04. november 1999 - 08:01 #4
Du kan gå ind under komponenter og vælge Databse Access #4 der er en del komponenter der kan det, men de forskellige komponenter kan forskellige ting derfor kan jeg ikke give dig en bestemt komponent. Du kan heller ikke få et kode eksempel for det er ikke bare noget man gør man skal hente en færdig komponent.
Avatar billede mora Nybegynder
04. november 1999 - 08:46 #5
Jeg har downloadet lidt som jeg kikker på i weekenden :-)
Avatar billede delphi Nybegynder
12. november 1999 - 14:54 #6
Det kommer selvfølgeligt også an' på hvilke krav du stiller til din database, bl.a. med hensyn til størelsen af data.

Hvis du har mod på at binde an med en ordentlig SQL database, så prøv med InterBase (I mine øjne den bedste SQL database).  En god ting ved Interbase, er bl.a. at en fuld client installation kun fylder omkring 2 MByte - ingenting i forhold til Oracle, MSSQL eller sågar Paradox/Access.

Jason Wharton er en gut der arbejder for Arizonas 'regering' som software designer.  I den forbindelse har han lavet et fremragnene sæt components der giver direkte access til Interbase API'et - dvs. uden brug af BDE.  Det lyder måske kompliceret, men der er masser af support, bl.a. en maillist, hvor Jason generelt svarer på alle spørgsmål inden for få timer (Hvis han ikke er på en Delphi konference et eller sted i verden for at snakke Delphi-Interbase. Ellers er der mange andre kloge hoveder på listen.

Jasons object bibliotek, der supportere Delphi 2-5, findes på http://www.ibobjects.com

NiP/Delphi
Avatar billede gusse Nybegynder
12. november 1999 - 15:26 #7
Jo det er en fed løsning.

Men prisen er også derefter. Set i forhold til sql server, sybase osv er den billigere, men 7000 kan du hurtig komme af med(server + licenser)
Avatar billede delphi Nybegynder
12. november 1999 - 15:47 #8
Nu ved jeg ikke lige hvad du skal bruge din application til, men sammen med Delphi er der jo den seneste version af Interbase sammen med en to-persons (så vidt jeg husker) licens.  Så til privat brug er der ingen problemer.

NiP/Delphi
Avatar billede gusse Nybegynder
12. november 1999 - 16:04 #9
Såvidt jeg har læst licensen aftalen, så må licensen bruges til udvikling og ikke til andet, men OK. Det kan jo fortolkes på mange måder, man skal blot være varsom. Men en Local IB licens koster omkring 500,- og det er jo ikke så galt.
Interbase 4. et eller andet til linux er gratis !!!!

(fra deploy.txt delphi 4)
Delphi Client/server and Delphi Professional include a
development license for Local InterBase. They do not,
however, include rights for deployment or redistribution of
any InterBase component.
Avatar billede mora Nybegynder
15. november 1999 - 07:41 #10
Jeg har entlig ingen krav til min database, den skal indeholde under 20 felter, og der skal kunne læses og skrives uden DBE.
Avatar billede delphi Nybegynder
15. november 1999 - 11:54 #11
Hvormange records er der til disse 20 felter? 
En enkelt tabel med så felter indbyder jo ligefrem til en record baseret fil.

NiP/Delphi
Avatar billede delphi Nybegynder
15. november 1999 - 11:54 #12
Læs: ...så FÅ felter...
Avatar billede mora Nybegynder
15. november 1999 - 12:03 #13
Jeg ved ikke helt hvor mange records, men jeg regner med godt 500 stk. måske flere.
Avatar billede delphi Nybegynder
15. november 1999 - 12:16 #14
I såfald vil jeg anbefale dig at droppe tanken om at bruge en database og i stedet anvende en record baseret løsning.  En sådan løsning vil fylde væsentligt mindre idet der ikke er noget behov for extra database drivers/engines/DLL's og hvad ved jeg. 

NiP/Delphi
Avatar billede mora Nybegynder
15. november 1999 - 15:20 #15
Kan du uddybe hvad det er, evt. et lille eks.?
Avatar billede gusse Nybegynder
16. november 1999 - 09:11 #16
tja noget lign + lidt mere

MyDB = Record
  MitFelt1: String;
  MitFelt2: Integer;
end;

eller prøv evt http://members.xoom.com/t_byte/
eller http://home.sprynet.com/~rrm/qdb.html



Avatar billede delphi Nybegynder
16. november 1999 - 10:41 #17
Noget i retning af: (Fra hovedet - jeg har ikke benyttet denne metode i mindst et års tid)

Type
  TDataRec = Record  (Brug evt objects, hvis du har styr på streaming etc.)
    Felt1 : Integer;
    Felt2 : SomeType;
    .
    .
  End;

Const
  FilNavn := 'Ldaksjfh.Dat';

Var
  Fil : File of TDataRec;
 
Procedure OpenFileToAppend;
Begin
  AssignFile(Fil, FilNavn);
  Append(Fil);

// Benyt evt:
// Reset(Fil);
// Seek(Fil, FileSize(Fil); // Move to EOF
End;

Procedure CloseDataFile;
Begin
  CloseFile(Fil);
End;

Procedure AppendPost(Const aPost : TDataRec);
Begin
  // Hvis der ikke er sikkerhed for, at
  // Current fileposition er End-Of_file
  // Så lav evt først en:
  //  Seek(Fil, FileSize(Fil));
  // eller kald rutinerne:
  //  CloseDataFile;
  //  OpenFileToAppend;
  Write(Fil, aPost);
End;

Function FindRecordPosition(Const Value : Integer) : Integer;
// Antager at:
// - filen er åben
// - der ledes efter en post, hvor felt1 indeholder værdien i 'Value'
// Retur værdi:
//  - Post fundet: Position i filen.
//  - Post ikke fundet: Værdien -1
Var
  Index  : Integer;
  CurPost : TDataType;
Begin
  Result := -1;
  Index  := 0;
  Seek(Fil, 0);

  While (Not EOF(Fil)) And Result=-1 Do
    Begin
      Read(Fil, CurPost);
      If CurPost.Felt1 = Value Then
        Result := Index
      Else
        Inc(Index);
    End;
End;


Du kan sikkert se systemet. 
Du skal ikke være bange for at ovenstående rutiner virker 'langsomme' eller for at benytte 'mange' Reset/Append/FileClose/Seek kommandoer, for selv om de indebære 'langsomme' I/O operationer, så er de stadigvæk langt hurtigere end kald ned i BDE eller tilsvarende strukture.

En mulighed, du kan udnytte for at speede tingene er evt. at hente alle data ind i hukommelsen, fx. i en linked liste eller i en memory stream (oplagt hvis du benytter Objects istedet for records).  Så kan du nøjes med at streame dine data ind og ud på disk en gang ved henholdsvis start og stop af din application.

NiP/Delphi
Avatar billede mora Nybegynder
16. november 1999 - 12:00 #18
Jeg kan ikke prøve det før jeg har adgang til delphi igen, der går lidt tid...

Jeg vil sætte pris på hvis i gad at sende lidt kilde filer til mig, så er jeg fri for at bruge min weekend på dem: mora@ready.dk
Avatar billede delphi Nybegynder
16. november 1999 - 13:44 #19
Til gengæld kan vi så bruge vores tid? :) 
Du må altså osse' gøre noget selv - specielt til 30 point og når du nu ikke har specificeret dine posters opbygning.
Under alle omstendigheder, så kan du sakse det eksempel jeg skrev før.

NiP/Delphi
Avatar billede mora Nybegynder
16. november 1999 - 14:06 #20
Ja - I må gerne bruge jeres tid :-)

Nej, jeg ved det godt - jeg gør det selv, jeg har bare kun adgang til delphi i weekenderne, og ikke alle weekender :-(
Avatar billede tknudsen Nybegynder
17. november 1999 - 10:44 #21
i delphi 5.0 er der nogle ado komponenter som ikke kræver BDE. Disse er endda bedre end BDE imod MS Access databaser. Imod SQL Servere er de langsommere...
Avatar billede delphi Nybegynder
17. november 1999 - 10:51 #22
Men brugen af Delphi 5's ADO faciliteter kræver at hele ADO driver sættet, dvs. Access API'et, er eller skal installeres på client maskinen.  Jeg har ikke det nøjagtige tal, men der er givet tale om flere MByte, hvilket er en tung sag at deploye til en bruger, specielt via Inet og modem.  Desuden er der et spørgsmål om rettigheder og licenser.
Dermed ikke sagt, at Delphi/ADO er noget møg.  Næste gang jeg selv får en opgave, der omfatter omgang med en af firmaets Access databaser, vil jeg seriøst overveje at droppe BDE til fordel for ADO - den tid, den sorg.

(Men jeg foretrækker stadig Interbase)

NiP/Delphi
Avatar billede delphi Nybegynder
19. november 1999 - 09:26 #23
TKnudsen>> Jeg tænkete lige:  Du siger at ADO er langsomme mod SQL databaser - jeg antager at du mener MS-SQL.  Hvad mener du egentligt med det og hvorfor er det sådan?  Så vidt jeg er informeret, så benytter Access og MS-SQL den samme fil struktur og burde da alt andet lige dermed også være lige hurtige, når du benytter de samme drivere.

NiP/Delphi
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

IT-JOB

Capgemini Danmark A/S

Microsoft AI Solution Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst