Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ADO ConnectionString Speichern und Öffnen (https://www.delphipraxis.net/165507-ado-connectionstring-speichern-und-oeffnen.html)

blondervolker 3. Jan 2012 14:24

Datenbank: ADO Access • Version: 4 • Zugriff über: ADO Connection

ADO ConnectionString Speichern und Öffnen
 
Gesundes neues Jahr noch:lol:

Hab mal wieder die "A"-Karte.

In meinem Projekt habe ich eine Master und 19 Detailtabellen.
Hab über die ADO Connection1 die Verbindung erzeugt und dann Master und
Detaildaten verknüpft.
Alles läuft bisher "Bestens".

Aber ich möchte die Datenbank mit allen "Master+Detailtabellen" ablegen
unter einen anderen Namen und danach eine neue Datenbank ("Leere") anlegen.

Hab dazu noch Fastreports laufen.

Frage: Ist es Fastreports egal, wenn eine neue Datenbank erzeugt wird?

Oder wäre es besser den Connectionstring kurzzeitig zu schließen und die

Test.mdb in einen Ordner -> Datenbanken zu verschieben,die aw.mdb umzubenennen als aw_Backup.mdb ?

Hier habe ich die Verbindung:
Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;Data Source=aw.mdb;
Mode=Share Deny None;Jet OLEDB:
System database="";
Jet OLEDB:Registry Path="";
Jet OLEDB: Database Password="";
Jet OLEDB:Engine Type=5;
Jet OLEDB: Database Locking Mode=1;
Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB: Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;

Ich habe vorher intensiv gegoogelt,komme leider nicht weiter.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
AdoConnection1.Connected :=true;
ADOConnection2.Connected :=true;
AdoTable1.Active :=true;
AdoTable2.Active :=true;
AdoTable3.Active :=true;
AdoTable4.Active :=true;
ADOTable5.Active :=true;
ADOTable6.Active :=true;
ADOTable7.Active :=true;
ADOTable8.Active :=true;
ADOTable9.Active :=true;
ADOTable10.Active:=true;
ADOTable11.Active:=true;
ADOTable12.Active:=true;
ADOTable13.Active:=true;
ADOTable14.Active:=true;
ADOTable15.Active:=true;
ADOTable16.Active:=true;
ADOTable17.Active:=true;
ADOTable18.Active:=true;
ADOTable19.Active:=true;
ADOTable20.Active:=true;

end;
Bin leider kein Profi...:oops:

blondervolker 3. Jan 2012 21:51

AW: ADO ConnectionString Speichern und Öffnen
 
Will keiner antworten,oder bin ich zu dähmlich...:oops::oops::oops::oops:
Danke...

sx2008 3. Jan 2012 22:13

AW: ADO ConnectionString Speichern und Öffnen
 
Deine Fragen sind zu ungenau; ich weiss nicht wozu du eine weitere Datenbank mit der gleichen Struktur brauchst.

Datenbanken bringen den grössten Nutzen, wenn man ALLES in die gleiche Datenbank speichert.
Erst wenn die Datenmenge im GByte Bereich liegt muss man sich Gedanken machen, ob man alte Daten in eine Art "Archiv"-DB auslagert.

Du kannst übrigens den Connectionstring in eine sogenannte UDL-Datei (User Data Link) auslagern.
Ein UDL-Datei kann man ganz leicht erzeugen.
Aus dem Desktop eine neue leere TXT-Datei anlegen und nach "Test.UDL" umbenennen.
Mit einem Doppelklick auf die UDL-Datei öffnet sich ein Editor.

Delphi-Quellcode:
var
  udlfile : string:
begin
  // UDL-Datei heisst gleich wie die Anwendung; nur mit Endung .udl
  udlfile := ChangeFileExt(ParamStr(0), '.udl');
  if not FileExists(udlfile) then
    raise Exception.CreateFmt('UDL-Datei %s fehlt',[udlfile]);
  AdoConnection1.ConnectionString := 'FILE NAME='+udlfile;
  AdoConnection1.Connected := True;
Der Vorteil ist, dass der Benutzer so die Verbindung zur Datenbank per Doppelklick auf die UDL-Datei selbst einrichten kann.

p80286 4. Jan 2012 07:10

AW: ADO ConnectionString Speichern und Öffnen
 
Du benötigst den Connectionstring um Dich bzw. Dein Programm mit einer DB zu verbinden. Nicht mehr und nicht weniger. Ob beide DB da die gleiche Struktur haben ist erst einmal vollkommen egal.
Wenn du mit TQuery arbeiten würdest, könntest Du Dir diese Hampelei mit den Tabellen sparen.

Gruß
K-H

Furtbichler 4. Jan 2012 07:11

AW: ADO ConnectionString Speichern und Öffnen
 
Zitat:

Zitat von sx2008 (Beitrag 1144233)
Erst wenn die Datenmenge im GByte Bereich liegt muss man sich Gedanken machen, ob man alte Daten in eine Art "Archiv"-DB auslagert.

Das möchte ich so nicht stehen lassen.

Jede Datenbank erfüllt einen Zweck. Erst wenn Daten nicht mehr den Zweck erfüllen, könnte man sie in ein Archiv verschieben. Das kann sinnvoll sein wenn die Datenbank z.B.
- offene Rechnungen enthält und die Rechnung geschlossen wurde
- Fertigungsprozessinformationen enthält und ein Bauteil fertig produziert ist
- Produkte und Verkaufsinformationen enhält und die Information älter als z.B. ein Jahr ist.
usw.

Wichtig ist aber, das sowohl "Live" als auch "Archiv"-DB weiterhin im Gesamtkontext abgefragt werden können. Wenn ich z.B. wissen will, wie sich Produkt XY insgesammt fertigungstechnisch verhalten hat, will ich einen einzigen Report, der allerdings seine Daten u.U. sowohl aus der Archiv- als auch aus der Live-DB bezieht. Das zuschalten der Archiv-DB geht dann z.B. über die Angabe des Zeitraums.

Aber was der Fragesteller wirklich will, hab ich auch nicht kapiert.

blondervolker 4. Jan 2012 10:22

AW: ADO ConnectionString Speichern und Öffnen
 
Hallo,

ich möchte nur diese Datenbank unter ein anderen Namen abspeichern.
Dann möchte ich diese Datenbank wenn benötigt auch wieder öffnen können.
Mehr ist es nicht.

Nur ich hab es noch nicht rausbekommen wie das funktioniert.:oops:

Bummi 4. Jan 2012 10:29

AW: ADO ConnectionString Speichern und Öffnen
 
Connection schließen, Datenbank umbenennen, "Neu Datenbank" erstellen/kopieren .., umbenennen, Connection öffnen ....

Aber ich fürchte das meinst Du nicht ...

Jumpy 4. Jan 2012 10:29

AW: ADO ConnectionString Speichern und Öffnen
 
Ich frag mal ganz ketzerich: .mdb klingt nach Access, oder?

Da könnte man doch einfach die Connection trennen und dann das .mdb - File irgendwoanders hinkopieren. Also nichts auf Datenbankebene, sondern eine einfache Dateioperation.

Edit: To late (roter Kasten?), aber wenigstens in der Kategorie "Zwei Dumme ein Gedanke" :-)

blondervolker 4. Jan 2012 10:39

AW: ADO ConnectionString Speichern und Öffnen
 
Ja es ist eine Access Datenbank.:-D

Das Teil sollte man umbenennen können und unter einen anderen Namen abspeichern
können.

p80286 4. Jan 2012 16:35

AW: ADO ConnectionString Speichern und Öffnen
 
Dann mach es doch so
Code:
...DataSource=MyOldAccessDB.mdb....
...DataSource=MyRenamedAccessDB.mdb....
Das sollte problemlos funktionieren (wenn der Pfad auch wirklich berücksichtigt wird)

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr.
Seite 1 von 2  1 2      

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