deutschsprachige FoxPro User Group
Forum View
Home
  
  Re: Darstellungs-Problem beim Child-Insert in ein OneToMany-- #20951 in section [742951]
Sec: (28) VFX deutsch
Von: Hans-Werner Rodrian
An: Hans-Werner Rodrian
Am/Um: 24.01.2021 22:46:46

--from Newsreader at Sonntag, 24. Januar 2021; 22:46:46--

Hallo Uwe,
ich habe mittlerweile also für die dbf-Tabellen CAs angelegt.
Wenn ich die Form nun starten will, crasht es >> Connectivity error:
[Microsoft][ODBC SQL Server Driver][SQL Server]Ungültiger Objektname <<.
Klar – ich habe der Form nicht gesagt, wo sie die Datenbank finden kann.
Früher hätte ich das in der beforeopentables() gemacht, aber das hebelt ja
den Connectionmanager aus ..
Also habe ich in der config.vfx die Datenbank als weitere Spalte angelegt.
Jetzt weiß ich aber nciht mehr weiter. Wo kann ich dem Connection_Manager
sagen, dass er diese Spalte verwenden soll?
In der ca.init fand ich einen Platz für einen >> Select connection
code <<, aber keinen Hinweis darauf im handbuch …
Danke
Hans-Werner


"Hans-Werner Rodrian" schrieb im Newsbeitrag
news:742946...
--from Newsreader at Montag, 18. Januar 2021; 22:18:47--

Hallo Uwe,

sorry für die Verwirrung. Es geht um ein Problem in der IDE; zu dem Projekt
gibt es seit vielen Jahren auch eine EXE, aber noch ohne dieses Formular.

Und danke für die Grundlagen. Aber wo in welcher Form die Daten vorliegen,
darauf habe ich nur sehr geringen Einfluss. Das ist halt gegeben.
Ein Teil der Daten liegt auf einem entfernten SQL-Server, ein anderer lokal
in DBCs. ich gehe davon aus, dass das in vielen altgedienten
Foxpro-Projekten so ist.

Ich finde es eigentlich einen großen Vorzug von VFX, dass es im DE Builder
explizit anbietet, SQL und DBC/DBF zu mischen.
Relationen baut mir der DE Builder ebenfalls, da gab es auch keine Probleme.

Danke für die hilfreichen Hinweise mit dem ordner data und den ordner der
EXE.
Die Tabellen sind in IDE und Exe über den gleichen Pfad erreichbar, das ist
also auch nicht das Problem.

Du hattest neulich geschrieben:

Bitte erstelle den CA mit dem VFX - Cursoradapter Wizard, wie ich am 6.
geschrieben hatte.

>>Ich habe mir jetzt so beholfen, dass ich auf die dbf einen Index Kunden +
dtoc(datum) desc gesetzt habe.<<

Das sollte auch möglich sein.

Ich werde jetzt also als nächstes versuchen die DBF-Child tables mit
Cursoradaptern zu realisieren.

Viele Grüße
Hans-Werner


"Uwe Habermann" schrieb im Newsbeitrag
news:742942...
--from Newsreader at Montag, 18. Januar 2021; 02:37:24--

Hallo Hans-Werner!

>>Beide sind in einem DBC (in unterschiedlichen DBCs). Die Tabellen samt
>>DBCs
liegen auf demselben Rechner wie die exe.<<

In Deiner letzten Nachricht hattest Du geschrieben, dass es um ein Problem
in der IDE geht. Jetzt schreibst Du von einer Exe-Datei.

Mal ein paar Grundlagen:

Parent- und Child-Daten müssen in der gleichen Datenbank sein, egal ob DBC
oder SQL Server. Wenn nicht, kannst Du keine Beziehung aufbauen, hast keine
RI, bzw. keine Constraints, und musst damit das Parent/Child-Verhalten
selbst programmieren.

Wenn Du mit DBC arbeitest, muss sich der DBC mit allen Tabellen im Ordner
Data unterhalb des Projektordners befinden.

Wenn Du eine Exe-Datei erstellst, muss diese im Projektordner gespeichert
werden. Sonst macht VFP hard-codierte Pfade in die Exe-Datei.

>>Die DBCs werden nicht aus der config.vfx geholt (ich hatte sie im DE
>>Builder
einfach angegeben).<<

Damit hast Du den Connection-Manager von VFX ausgehebelt. Die Tabellen
müssen in IDE und Exe über den gleichen Pfad erreichbar sein, der
hard-codiert in der Exe-Datei ist. Das ist keine gute Idee.

>>Hast du einen Tipp, was ich noch machen könnte, um dem Fehler näher zu
kommen?<<

Das Datenbank-Design sollte überdacht werden. Ein Mischbetrieb aus DBC und
SQL Server ist nicht empfehlenswert. Es erfordert zu viel manuelle,
fehleranfällige Arbeit. Alle Tabellen sollten sich in einer Datenbank
befinden, mit Primär- und Fremdschlüsseln und Relationen und RI bzw.
Constraints. Dann geht alles wie von selbst.

Viele Grüße

Uwe Habermann




Hans-Werner Rodrian   16.01.2021 18:02
Uwe Habermann  17.01.2021 01:29
Hans-Werner Rodrian  17.01.2021 21:49
Uwe Habermann  18.01.2021 02:37
Hans-Werner Rodrian  18.01.2021 22:18
Hans-Werner Rodrian  24.01.2021 22:46
Uwe Habermann  25.01.2021 11:59
Hans-Werner Rodrian  25.01.2021 20:27
Uwe Habermann  26.01.2021 13:26
Hans-Werner Rodrian  27.01.2021 20:39
Uwe Habermann  28.01.2021 07:39
Hans-Werner Rodrian  31.01.2021 20:52
Uwe Habermann  01.02.2021 09:03
  
zurück zum Forum