![]() |
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:
Bin leider kein Profi...:oops:
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; |
AW: ADO ConnectionString Speichern und Öffnen
Will keiner antworten,oder bin ich zu dähmlich...:oops::oops::oops::oops:
Danke... |
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 ![]() 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:
Der Vorteil ist, dass der Benutzer so die Verbindung zur Datenbank per Doppelklick auf die UDL-Datei selbst einrichten kann.
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; |
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 |
AW: ADO ConnectionString Speichern und Öffnen
Zitat:
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. |
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: |
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 ... |
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" :-) |
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. |
AW: ADO ConnectionString Speichern und Öffnen
Dann mach es doch so
Code:
Das sollte problemlos funktionieren (wenn der Pfad auch wirklich berücksichtigt wird)
...DataSource=MyOldAccessDB.mdb....
...DataSource=MyRenamedAccessDB.mdb.... Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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