--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
|
|
|