Seite 1 von 1

Tabelle mit SQL anlegen

Verfasst: Di, 25. Aug 2020 15:08
von Manfred
Hi,
ich habe ein wenig probiert:
1) über den Architekten im vorhanden DD mit DBF eine Tabelle mit CREATE angelegt
2) Backup gemacht vom DD

zu 1) der Create Befehl hat eine ADT Tabelle angelegt außerhalb des DD Verzeichnisses. (korrekt, oder irgendwelche Einstellungen falsch?)
zu 2) die ADT Tabelle wird im DD angezeigt, aber wo und wie wird diese in einem Backup integriert?

kann man diesen Mischbetrieb im scharfen Einsatz benuten, oder gibt es Problem? Reine Neugier, weil ich mir im ersten Augenblick nicht bewußt war, das ein CREATE Befehl eine ADT Tabelle erzeugt. Ich wollte eigentlich was ganz anderes testen.
Warum muß man das DD erst schließen und dann wieder öffnen, damit man die neue Tabelle sehen kann?

Re: Tabelle mit SQL anlegen

Verfasst: Mi, 26. Aug 2020 10:10
von nightcrawler
Manfred,
das Data Dictionary im Architect hat keinen automatischen Refresh - das würde das System überlasten. Daher gibt es auf dem Dictionary über die linke Maustaste ein Popup-Menü mit dem Eintrag "Refresh".
Ins Backup werden alle Tabellen der Datenbank integriert, sofern diese nicht ausgeschlossen sind (Parameter EXCLUDE).

Wenn über CREATE TABLE eine ADT statt einer DBF angelegt wird, so liegt das am Parameter "TableType" bei der verwendeten Connection (ADT ist Default, sollte dann auf CDX gestellt werden).

Für den ARC:
auf die Datenbank, rechte Maustaste, Connection Properties --> "TableType"="cdx"

Re: Tabelle mit SQl anlegen

Verfasst: Mi, 26. Aug 2020 10:29
von Manfred
Hi Joachim,
TableType hatte ich total aus dem Auge verloren. Stimmt, da steht ADT. Kann man das auch später noch umstellen auf CDX, nachdem die DBF mal importiert wurde ins DD, oder ist das ab dann in Stein gemeißelt? Oder dient das nur der Angabe, für weitere Erstellungen über SQL? Und heißt das es gilt generell, oder nur wenn ich über den Architekten arbeite?
Was das backup betrifft, da hast Du recht. Ich hatte wohl nicht die Auswahl genommen. Jetzt klappt es.
Es wird aber trotzdem außerhalb des DD Verzeichnisses die neue DBF erzeugt. Oder ist es wichtig wo die *.add Datei abgelegt ist?

Re: Tabelle mit SQL anlegen

Verfasst: Mi, 26. Aug 2020 12:58
von nightcrawler
TableType betrifft die Connection ... d.h. im ARC einstellen, disconnect, connect, dann ist es gültig. In Deiner Applikation bei AdsConnect richtig mitgeben.

Wenn die Tabelle mit CREATE TABLE nicht im Dictionary angelegt wird, hast Du keine Dictionary-Connection oder einen nicht berechtigten Benutzer. Wenn kein Pfad mitgegeben wird, so wird der im Dictionary hinterlegte "TABLE DEFAULT PATH" verwendet, ansonsten das ADD-Verzeichnis.

Re: Tabelle mit SQL anlegen

Verfasst: Mi, 26. Aug 2020 13:06
von Manfred
die Tabelle wird im DD unter tables angelegt, aber in dem Verzeichnis, in dem die .ADD Datei steht (steht auch so im Connection Path). Das Verzeichnis, in dem die eigentlichen DBF liegen, ist natürlich ein anderes. Dann wird es wohl daran liegen.

Re: Tabelle mit SQL anlegen

Verfasst: Mo, 31. Aug 2020 11:45
von Manfred
jetzt habe ich aber das Problem noch nicht gelöst, wie ich es schaffe, das eine neue DBF in dem Verzeichnis erzeugt wird, in dem auch die anderen DBF stehen aus dem DD.

Re: Tabelle mit SQL anlegen

Verfasst: Mo, 31. Aug 2020 12:01
von Manfred
ich sehe gerade, in den Properties steht die Angabe des relativen Pfads, in dem die DBF steht. Kann man sowas irgendwie setzen biem/vor dem Erzeugen einer TAbelle? Oder kann man sowas abfragen?

Re: Tabelle mit SQL anlegen

Verfasst: Mo, 31. Aug 2020 12:05
von Manfred
oops, ich nehme alles zurück. Ich habe gerade mal auf die Tabelle geklickt, ein SQL Script erzeugen lassen und da war angegeben, wo die Tabelle rein soll. Das werde ich mal probieren.