Autor Thema: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht  (Gelesen 2378 mal)

Offline Pavel

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Hallo,

folgender Scriptcode wird in einer DB benutzt und funktioniert auch, d.h. am Ende der Abarbeitung steht "nummerndbfound" auf true.
In einer anderen Datenbank mit dem gleichen Scriptcode funktioniert die ganze Sache nicht, d.h. an der Stelle

nummerndbpath = doc.nummerndbpath(0)   

wird nichts gefunden, bis dahin funktioniert das Script in der betreffenden DB.
Wenn allerdings über Print Befehle z.B. Print "noteid: " + doc.noteid
oder die größe des Dokuments anzeigen lassen will ist der Wert leer bzw. 0.
Wo könnte das Problem liegen?
Quellcode ist ein Ausschnitt aus dieser DB, stammt nicht von uns.

MfG
René


Code
If Not(view Is Nothing) Then
		Set doc = view.GetDocumentByKey("Konfiguration")
		If Not(doc Is Nothing) Then
			aktserver = doc.aktserver(0)			
			admindbpfad = doc.admindbpfad(0)			
			If Trim(aktserver) <> "" And Trim(admindbpfad) <> "" Then
				Set admindb = session.getdatabase(aktserver, admindbpfad)
				If Trim(admindb.title) <> "" Then
					'allgemeines Konfigurationsdokument aca.websuite holen					
					Set view = admindb.getview("Konfiguration")
					If Not(view Is Nothing) Then
						Set doc = view.GetDocumentByKey("Konfiguration")
						If Not(doc Is Nothing) Then
							nummerndbpath = doc.nummerndbpath(0)							
							If Trim(nummerndbpath) <> "" Then
								Set nummerndb = session.getdatabase(aktserver, nummerndbpath)
								Forall maske In nummerndb.forms
									If maske.name = "Nummernkreis" Then
										nummerndbfound = True										
										Exit Forall
									End If
								End Forall
							End If
						End If
					End If
				End If
			End If
		End If
	End If

Offline Flachmann

  • Senior Mitglied
  • ****
  • Beiträge: 284
  • Geschlecht: Männlich
  • Mal wieder: Flachmann ist Schuld!
Schwierig hier etwas zu sagen. Gibt es das Dokument in der Ansicht? Hat es einen Inhalt? Ist die NoteID die, die "geprintet" wurde? Evtl. gibt es einen Konflikt.

Ich würde hier mit dem Debugger durchgehen und prüfen, was tatsächlich in den Attributen von doc und doc.nummerndbpath steht.
Gruß,
  __________
  _/_
  /lachmann

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Wie sieht es mit der Berechtigung aus ? Evtl. läuft der Code unter dem falschen Benutzer ? Ist das ein Agent oder View Code oder....
Evtl. hilft es auch einfach mal bei allen IF's die fehlenden Elses mit Print's zu ergänzen damit Du weisst wo es rausfällt.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Pavel

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Das seltsame an der Geschichte ist, dass einige Datenbanken mit diesem Code korrekt laufen und einige Datenbanken das betreffende Dokument nicht finden.
Das Dokument, welches gefunden werden soll existiert und liegt auch nur in einer DB.
Alle DB's in denen dieser Code benutzt wird haben die gleiche Schablone.

Ich tendiere fast zu einem Server-Problem, aber was könnte es sein?

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Tendieren heisst nicht wissen.

Gibt es Fehlermeldungen ? bzw. Wird der Code durch einen Errorhandler geschützt? Hast Du das ganze schon mal durch den Debugger gejagt ?
Stimmen die Berechtigungen? Hat der Benutzer, welcher für die Ausführung des Codes verantwortlich ist auch zugriff auf die Eine DB wo das Konfig Dokument liegt ?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Das Dokument, welches gefunden werden soll existiert und liegt auch nur in einer DB.
Vermutlich wird das configdokument aber in der aktuellen db gesucht (codeschnipsel ist nicht komplett), und wenn das dic dann nur in einer db ist, kann das nicht klappen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Pavel

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Hallo,

Danke für die Anregungen, habe nun einen Ansatz gefunden, ist allerdings nicht wirklich erklärbar, aber funktioniert.
Habe bei den Eigenschaften -->Sicherheit des Agents auf Beschränkte Operationen mit vollen Admin Rechten gesetzt und siehe da der Agent funktioniert problemlos.
Danach wieder zurückgestellt auf Beschränkte Operationen zulassen, und es funktioniert immer noch, obwohl es vorher auch schon so eingestellt war.

Wie läßt sich so etwas erklären?

MfG

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz