Autor Thema: Aktualisierung Notes < ODBC < Access  (Gelesen 1250 mal)

Offline Dynamix

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Aktualisierung Notes < ODBC < Access
« am: 11.08.05 - 10:01:51 »
Derzeit werden über ODBC Daten aus einer AccessDB in eine NotesDB zur Ansicht übertragen. Als Grundlage dafür dient das Script aus der "Sandbox (MSAccessReader)".

Die Daten werden beim Öffnen der DB in Dokumente eingelesen und beim Verlassen werden diese wieder gelöscht. Bei derzeit 2000 Datensätzen ist dies zeitlich kein Problem. Jetzt wird die Anzahl der einzulesenden Datensätze  deutlich steigen und somit ist ein Einbruch des Antwort-Zeit-Verhalten beim Start der NotesDB zu erwarten.

Es wird also Zeit sich Gedanken über Alternativen zu machen.

Grundsätzlich würde ja eine Updatefunktion die zu erwartenden Probleme beheben. Dafür wäre auch ein Feld "Änderungsdatum" in beiden DB verfügbar, jedoch wie ordne ich das Dokument aus Notes dem Datensatz in Access zu??? Weiterhin sollen auch in Access gelöschte und neu aufgenommene Datensätze in der NotesDB entfernt/hinzugefügt werden.

Ich suche also Ansätze, Vorschläge bzw. Alternativen um eine solche Updatefunktion über ODBC zu ermöglichen.

Driri

  • Gast
Re: Aktualisierung Notes < ODBC < Access
« Antwort #1 am: 11.08.05 - 10:09:47 »
Gibt es in der Access-DB keinen Key (so ala Autowert) ?

Wenn ja, müßtest Du diesen Key mit in die Dokumente nach Notes übertragen und könntest dann darüber einen Abgleich machen.

Das Script dann in einen periodischen Agent auslagern, dann ist auch das Problem mit dem Warten für die User nicht mehr existent. Allerdings hat man dann dafür eine etwas geringere Aktualität, außer man läßt den Agent in knappen Intervallen laufen.

Offline Dynamix

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Aktualisierung Notes < ODBC < Access
« Antwort #2 am: 11.08.05 - 13:06:56 »
Es gibt in der AccessDB eine sogenannte "HardwareID" die einmalig  ist und fortlaufend erstellt wird. Diese "HardwareID" wird bereits mit in das Dokument übernommen.

Das Problem ist der Abgleich. Dazu müsste ich sowohl die HardwareID als auch das Änderungsdatum vergleichen.

Muß ich dazu erst die Dokumente aus Access importieren und dann innerhalb der NotesDB abgleichen oder geht das auch direkt über ODBC???

Womit läßt sich der Abgleich am besten durchführen - GetDocumentByKey?

Driri

  • Gast
Re: Aktualisierung Notes < ODBC < Access
« Antwort #3 am: 11.08.05 - 16:04:12 »
Hi,

ich habe so etwas noch nie umsetzen müssen, da wir hier für derartige Schweinereien NOTRIX einsetzen, aber von der Theorie her würde ich das folgendermaßen machen :

- Datensatz per ODBC lesen, ID ermitteln
- per GetDocumentByKey versuchen das passende Doc in Notes zu holen
- wenn Doc Is Nothing -> neues Dokument mit den Daten erzeugen
- wenn Not Doc Is Nothing -> zwei Möglichkeiten :
   a) stumpf die Daten aus der ODBC-Quelle ins Doc pumpen (is wegen Unread-Mark evtl. nicht ganz so schön)
   b) Timestamp des Notes-Docs mit dem des ODBC-Datensatzes vergleichen und ggf. Doc updaten

Fürs Löschen mußt Du dir dann allerdings was zusätzliches bauen. Z.B. DocCollection über alle Dokumente in der DB und dann prüfen, ob es dazu einen passenden Datensatz in der ODBC-Quelle gibt. Wenn nicht, Doc löschen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz