![]() |
Datenbank: interbase 6.5 • Zugriff über: ibx
datenbank clonen
hallo
weiß jemand von euch, ob es möglich ist, über die interbase-komponenten in delphi eine neue datenbank zu erstellen, die genau die selben metadaten hat, wie eine bereits existierende? oder muss ich dazu das sql-script in meine anwendung einbinden? |
Re: datenbank clonen
Hast du es schon mal über gbak versucht?
|
Re: datenbank clonen
hmmm, du meinst diese interbase-tools, ich weiß
aber ich will die datenbank ja von meinem delphi-client aus erstellen, verstehste wie ich meine? also der anwender soll nen namen für die neue datenbank eingeben und der client soll dann den server dazu veranlassen, eine datenbank mit diesem namen und einer vorgegebenen struktur zu erzeugen |
Re: datenbank clonen
Dann würde ich mit einem Verwaltungstool ( IBConsole oder IBExpert) die Metadaten in Form eines DDL-Skriptes extrahieren und dieses dann Verwenden um die neue DB zu erstellen.
|
Re: datenbank clonen
hmmm, will dich jetzt nicht nerven aber steht sowas irgendwo beschrieben?
ich meine metadaten extrahieren, wie das geht weiß ich ja aber ich hab keine ahnung wie meine tibdatabase-komponente damit was anstellen kann... |
Re: datenbank clonen
Im IBExpert unter Nützliches -> Extrahiere Metadaten
|
Re: datenbank clonen
ne das mein ich net...ich meine wie ich meine tibdatabase-komponente in delphi konfigurieren muss, damit sie mit hilfe einer solchen dll eine neue datenbank nach dem vorbild der metadaten erzeugt
|
Re: datenbank clonen
ich will ja, dass der benutzer mit meiner delphi-anwendung eine datenbank erzeugen kann
|
Re: datenbank clonen
Mit TIBScript sollte es möglich sein ein DDL-Skript auszuführen.
|
Re: datenbank clonen
Liste der Anhänge anzeigen (Anzahl: 1)
hmmm, diese komponente hab ich gar nicht
aber ich hab mittlerweile rausgefunden, wie ich mit ibexpert ein sql-script erzeugt bekomme, dass sämtliche metadaten enthält...also hab ich versucht, diese daten einfach in den die sql-property meiner tibquery-komponente einzufügen aber irgendwie klappt das nicht...will einer mal nen blick drauf werfen? das programm an sich is gar nicht von mir sondern einfach nur aus nem buch, damit sollte eigentlich nur gezeigt werden, wie mit einer tibdatabase-komponente eine neue datenbank erzeugt wird und ich wollte jetzt versuchen, diese neu erzeugte datenbank mit tabellen und allem pipapo zu füllen; sicherlich hab ich irgendwo nen denkfehler; sagt mir mal bitte wo das problem liegt! danke, martin das programm is 1:1 aus dem buch übernommen; nur die tibquery und tibtransaction hab ich hinzugefügt und folgende 3 statements am ende von
Delphi-Quellcode:
:
procedure TMainForm.BtnCreateDBClick(Sender: TObject);
Delphi-Quellcode:
grüße und danke
self.IBDatabase1.Connected := true;
self.IBQuery1.Active := true; self.IBQuery1.ExecSQL(); martin |
Re: datenbank clonen
Das Archiv enthält nur die Projektdatei (dpr) CreateIBXMain.pas fehlt.
|
Re: datenbank clonen
Liste der Anhänge anzeigen (Anzahl: 1)
ok jetzt aber!
|
Re: datenbank clonen
Zitat:
|
Re: datenbank clonen
Wie sieht ads DDl-Skript aus?
Welche Version von Delphi hast du? Dir Query-Kompoenente ist eigentlich nur für einzelne Statements. Für ganze Skripte gibts die TIBScript. (Ich weiß nicht , ob es diese schon immer gab) |
Re: datenbank clonen
Hmmm, ich krieg aber trotzdem noch diese Fehlermeldung:
Zitat:
|
Re: datenbank clonen
ZSQLProcessor(Zeos), TMDOBatch(MDO), JvUIBScript(UIB/JVCL).
Ich würde aber nach einem Update für IBX gucken. |
Re: datenbank clonen
na das sql-skript ist doch in der tib-query-komponente, einfach auf eigenschaft 'sql' doppelklicken!
|
Re: datenbank clonen
Zitat:
|
Re: datenbank clonen
Zitat:
|
Re: datenbank clonen
achso
also ich verwende delphi 7 professional aber diese ganzen komponente von denen du da redest, hab ich alle nicht hast du schon mal versucht, das programm auszuführen? kriegst du da auch die gleiche meldung? |
Re: datenbank clonen
Nein, bei der 2. Befehlszeile des Skriptes steigt er aus => Query ist definitiv nicht geeignet zur Ausführung von Skripten.
Verfügbares Update für IBX(D7): ![]() |
Re: datenbank clonen
jo ich danke dir da hab ich jetz auch dieses tibscript :cheers: und supieinfach
|
Re: datenbank clonen
ich geh hier schon wieder im kreis:
jetzt hat das mit dem skript-ausführen über tibscript einmal geklappt, da zickt auf einmal was anderes: wenn ich das skript vollständig in meine tibscript-komponente einfüge, kann ich es ausführen aber wenn ich parameter einfüge und diese versuche zur laufzeit zu belegen, bekomm ich auf einmal eine 'eaccessviolation' Auszug aus dem Skript:
SQL-Code:
Programm bricht ab (eaccessviolation) bei:
CREATE DATABASE :database USER :user PASSWORD :password
PAGE_SIZE 4096 DEFAULT CHARACTER SET NONE;
Delphi-Quellcode:
:roll:
DataModule1.IBScript1.ParamByName('database').AsString := self.TargetFilePath;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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