Autor Thema: Methodik: Daten aktualisieren von anderer DB  (Gelesen 2630 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Methodik: Daten aktualisieren von anderer DB
« am: 12.11.03 - 22:13:01 »
Hi,

mich würde eine vernünftige Methodik zur Datenaktualisierung interessieren (beide DB's sind auf gleichem Server).

Quell-DB:
Viele Dokumente (>50.000, werden täglich mehr), viele Views etc.
Eine View der DB enthält die Doks die ich brauche (1. Spalte sortiert nach "Nr").

Ziel-DB:
Enthält ca. 200 Dokumente. Hier habe ich nur das Feld "Nr" gefüllt, die restlichen Textinhalte (6-8 Felder) sollen aus der Quell-DB der o.g. View geholt werden. Ist auch soweit kein Problem, @DBLookup beim Dok-Erzeugen.

Nun werden ja bekanntlich Änderungen der Quell-DB per Default erstmal nicht in die ZielDB übernommen.
Wöchentliches Einbahnstraßenupdate (QuellDB -> ZielDB) würde voll und ganz reichen.

@DBLookups in Felder "berechnet zur Anzeige": bringt m.E. nix, würde viel zu lange dauern, weil Quell-DB langsam.

Würdet Ihr das ganz simpel per scheduled Formelagenten lösen, der die @DBLookups wöchentlich ausführt und in die Felder schreibt?

Oder gibt es da noch eine bessere Lösung?

Gruß,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #1 am: 12.11.03 - 22:41:32 »
Ist ne Möglichkeit. Eine andere Variante, die ich - in leicht veränderter Aufgabenstellung - realisiert habe, geht etwa so vor:

Beim erstmaligen Uebertragen des Dokumentes wird in der Zieldatei die Doc-UNID mit abgespeichert.

Um die bestehenden Dokumente sporadisch nachzuführen, werden dann alle Dokumente in der Ziel-DB durchlaufen und für jedes Dokument wird per DB.GetDocumentByUNID das Original herausgezupft, darauf lassen sich dann die Felder entsprechend aktualisieren.

uU lässt sich das natürlich auch statt via die Doc-UNID auch mit Hilfe eines versteckten VIEHs in der Source-DB machen, bringt aber wahrscheinlich keine wirklichen Vorteile.

Welche Methode effizienter ist, die von Dir erwähnte über @dblookup oder meine, kann ich nicht wirklich abschätzen, das müsste man tatsächlich über einen Test eruieren. Bei mir ist simpel der Fall, dass das nicht das ganze Verfahren ist, somit war die Frage nicht gestellt, ob man mit Formeln oder Script arbeitet, Script war in dem Falle gegeben.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #2 am: 13.11.03 - 07:08:22 »
guckst du http://www.atnotes.de/index.php?board=8;action=display;threadid=2904;start=0

ein verfahren, welches ich schon seit knapp 3 Jahren einesetze; daüber hinaus auch  für "Nicht"-Programmierer geeignet.

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #3 am: 13.11.03 - 19:44:54 »
Danke für die Tipps.

@Eknori:
Prima DB. Werde ich mir mal im Detail anschauen.

Grüße,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #4 am: 13.11.03 - 19:49:17 »
die config ist evtl. nicht ganz einfach zu durchschauen, aber nicht unmöglich.
Wenn du Fragen hast , immer gerne hier
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #5 am: 13.11.03 - 20:31:20 »
Danke Ulrich für das Angebot  :)

Da Du ja auch lokale DB's unterstützt, werde ich mir jetzt erst mal 2 simple lokale DBs zusammenschnitzen und mal mit denen lokal testen....

Mal sehen, evtl. dokumentiere ich das ganze auch etwas und stelle es hier rein.

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #6 am: 13.11.03 - 20:34:20 »
nur zur Klarstellung; die DB ist nicht auf meinem Mist gewachsen. Ds war mal eine  Idee, die ich einem Entwickler von Domino Workflow geschickt habe. Der hat das dann umgesetzt.

Aber Doku ist ja nicht so doll; daher Danke für DEIN Angebot.


Ulrich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #7 am: 13.11.03 - 21:03:58 »
Zitat
Aber Doku ist ja nicht so doll;

Ich dachte erst es gibt gar keine, hab die View "Hilfe" völlig übersehen....  ::)

Aber auch ohne gehts:
1.) 2 neue Datenquellen anlegen
2.) Fielmap anlegen. Erst Feld der Quelldb angeben, dann Komma, dann Zielfeld angeben
3.) Sync Activity anlegen
4.) Agent zum testen mal manuell starten (in View 'Logs...' auf 'Agenten' klicken)

Und hat blendend funktioniert :-)

Werde morgen mal auf dem Server testen...

TMC

Ein 'nice to have' in der DB wäre noch die Beinflussung des Intervalls des Agenten (also wie oft er läuft). Hier wäre es noch nett, pro Sync Activity eine separate Zeit angeben zu können....
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #8 am: 13.11.03 - 22:23:29 »
Das Inttervall eines Agenten lässt sich leider mit Bordmitteln nicht ändern, Vielleicht ginge es über C-API, ansonsten leider nur über den Designer.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #9 am: 13.11.03 - 22:31:24 »
Hi Jens,

jip, schon klar :)

Ich denke vielmehr darüber nach, dass zwar der Agent z.B. jede Stunde läuft, aber:
zusätzliches Feld im Setup-Document "Sync Activity" auswertet, und dementsprechend eine Schlaife durchläuft.

Feldeintrag z.B.: Täglich um 2:00 Uhr

Agentscriptbaustein: Wenn Feldeintrag = @Now, dann mach das folgende, else mache nix.

Nur so 'ne Idee....

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #10 am: 13.11.03 - 22:34:14 »
Hallo TMC

Ja, das ist eine mögliche Lösung (nur sollte man nicht auf = prüfen, sonst wird das nie durchgeführt ....... nur so als Hint, man weiss ja nichts genaues, wie der Agent gescheduled wird und Domino garantiert auch keine Ausführungszeiten, also gibts eine etwas aufwändigere Auswertung, man wird wohl auch den Zeitpunkt der letzten Sync abspeidern und auswerten müssen)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #11 am: 13.11.03 - 22:46:15 »
hmm, ja, dachte mir schon sowas in der Art mit @Now.
= @Now wäre auch etwas extrem (sekundengenaue Abfrage).
Hast Recht, das sollte man einen Zeitraum verwenden mit den netten Vergleichsfunktionen < und > .....

TMC

P.S. Zeitpunkt der letzten Sync (und noch vieles mehr: was hat sich geändert etc.) wird in der Tat per Default in Log-Dokumente geschrieben, wäre also wohl recht einfach, diese Werte hinzuzuziehen...

Die DB an für sich ist schon klasse, zig Konfigmöglichkeiten, selbst case sensitive  etc. wird berücksichtigt
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Methodik: Daten aktualisieren von anderer DB
« Antwort #12 am: 13.11.03 - 23:07:52 »
Tönt wirklich gut
Würde sofort reinschauen, wenn nicht gerade heute dringende Arbeit hereingestürzt wäre. Aber im Hinterkopf ist das Ding hier.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz