Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi XP schnelle DB ohne Treiber ? (https://www.delphipraxis.net/15003-xp-schnelle-db-ohne-treiber.html)

HomerGER 20. Jan 2004 14:50


XP schnelle DB ohne Treiber ?
 
Hallo
ich hab ein Programm für xp und zwar nur für xp
nun hab ich daten strings, integer, und längere texte (auch formatierte)
es wird nur gelesen also nix wärend des normalen laufes geschrieben
ich suche jetzt ne db mit der ich das schnell (sehr wichtig) bewerkstelligen kann
schnell bezieht sich hier auf die zugriffszeiten
ich denke so an die 200 datensätze
pro datensatz so an die 20-30 einträge(strings, integer, und längere texte (auch formatierte))

wollte eigentlich keine zusätlichen db-treiber installieren
könnte ich mir da was empfehlen - - könnt ihr das bitte auch dann genauer erkären


homer

fkerber 20. Jan 2004 14:58

Re: XP schnelle DB ohne Treiber ?
 
Hi!

Es gab hier glaube ich mal einen Thread zum Thema "Welche Datenbank für welche Zwecke".

Ich finde ihn grad nicht, aber evtl. findest du ihn ja und er hilft dir weiter.


Ciao fkerber

HomerGER 20. Jan 2004 16:07

Re: XP schnelle DB ohne Treiber ?
 
sorry leider die suche hier mir nicht geholfen
hab schon access gedacht - die db solle schon irgendiwe kostenlos sein - wenn es geht - mein programm ist aber Kommerziell

Tyrael Y. 20. Jan 2004 16:10

Re: XP schnelle DB ohne Treiber ?
 
Guck mal ob DBIsam was für dich ist.

Edit: Eine zusätzliche Alternative wäre MSDE.

HomerGER 20. Jan 2004 16:26

Re: XP schnelle DB ohne Treiber ?
 
DBIsam ist zu teuer
und für mein zweck ungeeignet (spatzen und kanonen usw)
habe es z.Z. alles in einer textdatei(siehe oben)
MSDE, hmmm wäre da nicht dann access besser und dann mit ado und den jet-treiber?

Tyrael Y. 20. Jan 2004 16:33

Re: XP schnelle DB ohne Treiber ?
 
MSDE ist kostenlos.
MSDE darfst du mit deiner Software zusammen ausliefern.

Wenn du keine Blob Felder benutzen möchtest, brauchst du auch keinen Boliden wie Access
(und dein Kunde hat u.U. kein Access)
Für Integerwerte, Bools und Strings ist MSDE optimal.

HomerGER 20. Jan 2004 16:38

Re: XP schnelle DB ohne Treiber ?
 
MSDE
hab ich mir angeschaut sieht sehr gut
wie sieht es mit memos(oder langen texten) aus?
da ich auch eine beschreibung mit speichern will
was mus ich den kunden mitgeben damit die db bei ihm läuft

wie gesagt ich will nur lesen nicht löschen oder speichern
und sie mus schnell sein

Tyrael Y. 20. Jan 2004 16:50

Re: XP schnelle DB ohne Treiber ?
 
Lange Texte glaub ich ist ein Problem. Ich meine es ist auf 250 Zeichen begrenzt.
Kann mich aber irren, werde heute Abend zu Hause gucken was da rein passt.

Die Datenbank selber ist nur ein Verzeichnis.
Pro Tabelle werden zwei Dateien erzeugt.
Du brauchst dem Kunden nur diese Dateien mitzugeben.

Löschen, Schreiben und Lesen ist dennoch kein Problem, auch wenn du nur Lesen möchtest.

WICHTIG: MSDE ist ungeeignet bei RIESSENGROSSEN Datenmengen.
Aber wenn das bei dem bleibt, was du zu Anfang geschrieben hast, ist das kein
Problem und ist auch schnell genug.

HomerGER 20. Jan 2004 16:56

Re: XP schnelle DB ohne Treiber ?
 
thx Tyrael
ich glaube das ist was ich brauche
bei den langen texten also es müssen schon mehr als 255 zeichen sein
ich denke da an eine länge wie ein memo bei access
kannst du mir auch sagen mit welchen kompo's ich drauf zugreifen kann - ado's mit den kenn ich mich ein bischen noch von access aus ?
oder gibt es irgendwo ein kleine demo ? das würde schon reichen

Tyrael Y. 20. Jan 2004 17:04

Re: XP schnelle DB ohne Treiber ?
 
Ich hab jetzt kein Beispiel griffbereit.

..aber ja die Zugriffe laufen über..

TADOConnection - auf die Datenbank
TADOTable und/oder TADOQuery - auf die Tabellen.

Edit: Tip: die langen Texte würde ich in eine Textdatei packen und mittels
TFileStream schreiebn und lesen.

Tyrael Y. 20. Jan 2004 17:11

Re: XP schnelle DB ohne Treiber ?
 
Zitat:

Lange Texte glaub ich ist ein Problem. Ich meine es ist auf 250 Zeichen begrenzt.
Kann mich aber irren, werde heute Abend zu Hause gucken was da rein passt.

Die Datenbank selber ist nur ein Verzeichnis.
Pro Tabelle werden zwei Dateien erzeugt.
Du brauchst dem Kunden nur diese Dateien mitzugeben.

Löschen, Schreiben und Lesen ist dennoch kein Problem, auch wenn du nur Lesen möchtest.

WICHTIG: MSDE ist ungeeignet bei RIESSENGROSSEN Datenmengen.
Aber wenn das bei dem bleibt, was du zu Anfang geschrieben hast, ist das kein
Problem und ist auch schnell genug.

äh sry das war mist, hab äpefel und birnen verwechselt, das was da steht gilt für DBIsam

bei MSDE hast du auch mit Blobs und Riesendaten und langen Texten kein problem :oops:

HomerGER 21. Jan 2004 12:47

Re: XP schnelle DB ohne Treiber ?
 
da ich bis jetzt nur mit access gearbeitet habe ist ... hmmm sagen wir ein bischen schwierig
für mich
gib es irgendwo ein tut dafür
wie erstelle ich den überhaubt eine tabelle oder abfrage
der zugriff über ado ist soweit erstmal keine problem die kenn ich noch von access

ich hab mir das MSDE installiert
hab jetzt ne ordner mit Microsoft SQL Server
bitte um eine kleine einweisung

herr wirf hirn auf dein diener

Tyrael Y. 21. Jan 2004 13:17

Re: XP schnelle DB ohne Treiber ?
 
Erst einmal wäre es ganz gut für dich ein Datenbanktool zu haben
wie etwa MS Enterprise Manager oder DbaMgr2k. Weil du zur Verbindung mit der DB
ein ConnectionString brauchst. Ich weiss nciht wie man sonst einen ConnectionString holen kann.

Ein ConncetionString sieht in etwa so aus:
'Provider=SQLOLEDB.1;Password=deinDBPassword;Persi st Security Info=True;User ID=sa;Initial Catalog=Test;Data Source=deinRechnerName'

zur Verbindung mit der DB zB so:
Delphi-Quellcode:
procedure TForm1.btnConnectClick(Sender: TObject);
begin
   fDBConnector := TADOConnection.Create(nil);
  try
    fDBConnector.LoginPrompt := False;
    fDBConnector.ConnectionString := 'Provider=SQLOLEDB.1;Password=deinDBPassword;Persist Security Info=True;User ID=sa;Initial Catalog=Test;Data Source=deinRechnerName';
    fDBConnector.Connected := True;
    lblConnect.Caption := 'Connected';
  except
   Showmessage('Could not connect on database'+#13#10+'please try again');
  end;
end;

du kannst TADOQuery un/oder TADOTable nehmen, ich mische oft.
z.B:

Delphi-Quellcode:
{TADOQuery}
procedure TForm1.GetValuesWithQuery();
var lQuery: TADOQuery;
begin
   lQuery := TADOQuery.Create(nil);
   try
     try
        lQuery.SQL.Text := 'SELECT '+ eTableColumn.Text{ein Edit Feld} +' FROM '+ eTableName.Text{ein Edit Feld};
        lQuery.Connection := fDBConnector;
        lQuery.Open;
     except
        ShowMessage('Table and/or column not exists in this database');
     end;
     while not lQuery.Eof do
     begin
        myMemo.Lines.Add(lQuery.fieldbyname(eTableColumn.Text{ein Edit Feld}).AsString);
        lQuery.Next;
     end;
   finally
     lQuery.Free;
   end;
end;
oder mit:

Delphi-Quellcode:
{TADOTable}
procedure TForm1.GetValuesWithTable();
var lTable : TADOTable;
begin
   lTable := TADOTable.Create(nil);
   try
    lTable.Connection := fDBConnector;
    lTable.TableName := eTableName.Text{ein Edit Feld};
    lTable.Open;
    while not lTable.Eof do
    begin
       myMemo.Lines.Add(lTable.fieldbyname(eTableColumn.Text).AsString);
       lTable.Next;
    end;
   finally
     lTable.Free;
   end;
end;
Ich hoffe das hilft erts mal weiter

HomerGER 21. Jan 2004 13:22

Re: XP schnelle DB ohne Treiber ?
 
das mit den ado ist soweit ok
ich wollte eigentlich erstmal eine tabelle machen mit der ich dann über die ado's zugreiffe

Tyrael Y. 21. Jan 2004 13:30

Re: XP schnelle DB ohne Treiber ?
 
Also ich habe das immer mit den von mir erwähnten Tools gemacht.

MSDE ist wie mySQL - es ist eine reine Dtaenbank ohne Datenbankmanager.
Bei mySQL benutzen die meisten phpMyAdmin und hier eben die erwähnten Tools.

Es gibt bestimmt noch mehr Tools.

HomerGER 21. Jan 2004 13:49

Re: XP schnelle DB ohne Treiber ?
 
ok das MSDE für meine zwecke geht ist soweit klar

was ich jetzt noch brauche
ich hab mir jetzt auf meine rechner MSDE von MS installiert

1. wie erstelle ich eine tabelle (was für ein Tool - phpMyAdmin?)
2. wenn ich dann irgendwann es geschafft habe eine tabelle und meine abfragen zu erstellen
was mus ich meinen kunden mitgeben (ausser mein Programm) er soll aber nicht in die db schauen dürfen die inhalte müssen geschütz sein

das wichtigste ist was mus ich alles bedenken das mein programm und die zugriffe über mein programm auf die db beim kunden laufen.


sorry für die anfängerfragen - access ist kein problem aber sql ....

Tyrael Y. 21. Jan 2004 13:57

Re: XP schnelle DB ohne Treiber ?
 
1. Du brauchst ein Management Tool: MS Enterprise Manager, DbaMGR2k oder was anderes.
Damit kannst du Tabellen erstellen und den ConnectionString ermitteln.

2. Guck mal bei MSDN(Microsoft), dort stehen alle nötigen Infos, wie und was du mitgeben musst.

HomerGER 21. Jan 2004 14:04

Re: XP schnelle DB ohne Treiber ?
 
thx
bin grade dabei mir das passende tool zu suchen
wenn ich erstmal eine tabelle damit erstellt habe - komme ich wieder :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz