Autor Thema: DBLookup-Frage & Speicher- oder Replizierkonflikte  (Gelesen 1639 mal)

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Ich bin`s mal wieder und habe mal wieder zwei typische Anfängerfragen, vielleicht hat ja jemand ne Idee - ach was sag ich, das war ja bislang immer der Fall.

Ok, also komme ich nun mal zu meinen Fragen. Der ein oder andere der meinen Werdegang hier im Forum verfolgt hat weiss sicherlich das ich eine bereits vorhandene Datenbank an der ein oder anderen stelle optimieren soll, ich hasse dieses Wort nennen wir es mal lieber "verändern".

Frage 1

Ich habe Probleme den folgenden Ausdruck komplett zu verstehen und vorallem weiss ich nicht ob man das so machen sollte, da ich schon das ein oder andere mal gelesen habe, dass "DBLookup" sich negativ in der Leistungsfähig einer DB niederschlägt. Was meint ihr ?

@If(@IsError(@DbLookup("":"NoCache";"";"teilsummen_ohne_aend-mitt-nr";UniversalID;2));@Return(0);@Sum(@DbLookup("":"NoCache";"";"teilsummen_ohne_aend-mitt-nr";UniversalID;2)))

Frage 2

Die DB hier hat an mehreren Stellen den Eintrag Speicher- oder Replizierkonflikt in den Ansichten stehen. Welche Möglichkeit habe ich den Ursachen auf die Schliche zu kommen um sowas dann in Zukunft zu vermeiden ? Und, gibt es eine Möglichkeit bereits vorhandene Konflikte aus der DB zu bekommen, z.B. durch einen Agent oder dergleichen, so das man sie dann erstmal wieder los ist ?

Schonmal vielen Dank für eure Hilfe, gut das es dieses Forum gibt, sonst hätte ich wohl schon längst die "Brocken" hingeworfen.

Offline Lenham

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Ich liebe dieses Forum!
Re:DBLookup-Frage & Speicher- oder Replizierkonflikte
« Antwort #1 am: 05.05.04 - 13:27:05 »
Nur schnell zwischendurch zu 2):

SELECT @IsAvailable($Conflict)

... sollte Dir alle Dokumente liefern.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:DBLookup-Frage & Speicher- oder Replizierkonflikte
« Antwort #2 am: 05.05.04 - 13:56:42 »
Ebenso kurz zu 1)
Zitat
@If(@IsError(@DbLookup("":"NoCache";"";"teilsummen_ohne_aend-mitt-nr";UniversalID;2));@Return(0);@Sum(@DbLookup("":"NoCache";"";"teilsummen_ohne_aend-mitt-nr";UniversalID;2)))

Die Formel ist schon in Ordnung: Wenn @dbLookup einen Fehler zurückgibt (kein Treffer oder anderes), dann gibt sie nichts zurück, ansonsten das gewünschte Ergebnis.

@dbLookups ziehen natürlich die Performance in den keller, man sollte sie also mit Bedacht einsetzen. Ein weit verbreiteter Fehler ist, @dbLookups sowohl beim Lesen als auch editieren von Dokumenten einzusetzen (also faktisch jedem Öffnen eines Dokuments eine Formel erneut auszuführen, obwohl das Ergebnis bereits gespeichert wurde).
Wo @dbLookup nun passt oder wo man andere Wege suchen sollte, hängt natürlich immer vom konkreten Einzelfall ab.

HTH,
Bernhard

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:DBLookup-Frage & Speicher- oder Replizierkonflikte
« Antwort #3 am: 05.05.04 - 14:14:49 »
Nunja, das mit den DBLookups scheint mir in diesem konkreten Fall wirklich nicht anderes zu gehen. Naja da muss ich dann wohl mit leben.

Die Sache mit der SELECT-Anweisung, wo oder wie binde ich das denn ein ? Durchsucht der Notes mit der Anweisung so, wie sie oben steht die komplette DB oder wie ? Wenn ich dann Einträge habe - ok, ich weiss das ich welche haben werde ;) - was mach ich denn dann mit den Dokumenten, damit ich diese Fehler loswerde ?

Und wie kann ich es verhindern, das in Zukunft solche Fehler entstehen ? Es gibt ja diese Funktion, die man Masken einstellen kann "Konflikte mischen" - ist das des Rätsels Lösung ?

Offline Lenham

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Ich liebe dieses Forum!
Re:DBLookup-Frage & Speicher- oder Replizierkonflikte
« Antwort #4 am: 05.05.04 - 15:16:43 »
Die Sache mit der SELECT-Anweisung, wo oder wie binde ich das denn ein ? Durchsucht der Notes mit der Anweisung so, wie sie oben steht die komplette DB oder wie ? Wenn ich dann Einträge habe - ok, ich weiss das ich welche haben werde ;) - was mach ich denn dann mit den Dokumenten, damit ich diese Fehler loswerde ?

Und wie kann ich es verhindern, das in Zukunft solche Fehler entstehen ? Es gibt ja diese Funktion, die man Masken einstellen kann "Konflikte mischen" - ist das des Rätsels Lösung ?

Zu Absatz 1)
Eine Möglichkeit: Du erstellst Dir eine Ansicht, in der nach dieser Selektionsformel nur die Dokumente mit diesem Feld angezeigt werden.
Dann jagst Du einen Agenten durch diese Ansicht, der mit diesen Dokumenten das macht, was Du willst.

Zu Abstaz 2)
Gib mal in der Designerhilfe "Speicherkonflikt" ein. Da steht - etwas schwammig - was Du wissen musst.

Und jetzt der abääääär:
Ich habe festgestellt, das diese Einstellungen zumindes in WEB-Anwendungen nicht funktionieren.

Wie das in reinen Client-Anwendungen aussieht weiß ich nicht, weil ich hier Speicherkonflikte durch Sperre der Datensätze zu vermeiden versuche.

Driri

  • Gast
Re:DBLookup-Frage & Speicher- oder Replizierkonflikte
« Antwort #5 am: 06.05.04 - 10:59:00 »
Im Client funktioniert das scheinbar recht gut. Wir haben hier eine Anwendung, die früher unter Notes R4.5 (da gabs die Option glaub ich nicht, oder ?) jede Menge Replizirekonflikte fabriziert hat, da viele Mitarbeiter im Außendiest damit gearbeitet haben.
Seitdem wir die Option aktiviert haben, ist das Aufkommen an Replizierkonflikten deutlich zurückgegangen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz