Domino 9 und frühere Versionen > ND8: Entwicklung

LotusScript: ODBC-Import von Kontakten

<< < (2/4) > >>

lndsbrgr:
@Driri
Ich nutze meinen lokalen PC und eine mehrfach erfolgreich getestete System DSN.

@Tim
Leider kommt keine Fehlermeldung.

Ich habe nun testweise die Daten komplett in Access importiert (...mit der gleichen System DSN). Die neue Access mdb-Datei habe ich dann ebenfalls per ODBC angezapft und erneut lediglich 1542 Sätze herausbekommen...

Auf einer anderen Seite wurde die "CacheLimit"-Eigenschaft verantwortlich gemacht, damit habe ich aber auch keinen Erfolg. Vielleicht ist irgendwo anders der Cache limitiert.

botschi:
Wir hatten mal ähnliche Probleme und konnten das dadurch ändern, dass eine Cachevariable auf irgendeinen krummen Wert gesetzt wurde.

Hast Du mal mit deinem Wert 5000 experimentiert?
Das ist doch die Abbruchbedingung oder? Setz den Wert mal auf 10042 oder sowas oder ändere die Abbruchbedingung.


Matthias

michael-r:
Hi,

also ich programmiere selten mal was, und auch ganz wenig im LN.

Aber wenn ich mir das so ansehe, ist da nicht die Abbruchbedingung falsch... also wenn ich z.B eine Datei einlese geh ich Zeile für Zeile bis EOF.

Würde man das hier nicht so ähnlich machen?

Mit Access 2007 und V6R1 ging das öffnen der Daten, wobei wir auf unserer Maschine nicht so viele Datensätze hat und auch nur Testdaten. Bei einem Kunden hatte ich vor kurzem mit 2003 und V5R4 (glaub ich) den Zugriff per ODBC eingerichtet.
Das waren über 2000 Datensätze und scheint zu funtkionieren, sonst hätte sich der Kunde ja nochmal gemeldet ;).

MFG Michael

samWare:
Hallo, ich habe einmal ein paar ganz blöde Fragen. Der Code oben scheint ziemlich Fehlerhaft zu sein.

Frage:

1 - Warum deklarierst du deine Variablen in jedem Loop Durchlauf neu?! (Funktioniert das überhaupt? Ich dachte das giebt ne dicke Fehlermeldung dass diese Variable bereits Deklariert ist).

2 - Warum nutzt du überhaupt Variablen? Sowas wär doch gescheiter: doc.fullname = Cstr(Res.GetValue("kdnr"))

3 - Was würde folgender Code machen: Call doc.ComposeWithForms (True, False) ? Ich wüsste nicht dasses eine solche Methode für das NotesDocument giebt. Ich kenne nur notesDocument.ComputeWithForm( doDataTypes, raiseError )...

Ich hoffe irgendjemand beantwortet mir diese Fragen. Ich will ja schließlich dazulernen :)

mfg Samuel

lndsbrgr:
Nochmal allgemein vorweg: Das Skript ist aus dem Forum. Speziell mit LotusScript habe ich bisher noch keine Prgrammiererfahrung.

@Matthias

Der Wert mit der 5000 (Res.CacheLastRowNum = 5000) ist anscheinend nur eine interne Variable (leider hab ich keine Doku dazu gefunden). Hatte ich zum Testen verändern wollen, weil diese laut Debugger auf 1542 gesetzt wird nach dem "res.lastrow". Irrelevant. Ansich sollte hierfür die CacheLimit-Eigenschaft verantwortlich sein. Veränderungen bringen hier aber nichts (außer auf Werte unter 1542...).

@Michael
Mit dem EOF hast Du wohl recht. Die Abbruchbedingung wird in diesem Skript durch den Returncode von "Res.NextRow" vor dem Ende des Loops definiert. Wenn keine weitere Zeile gelifert wird, ist kommt false... allerdings könnte es natürlich sein, dass es hier mit einem EOF auch ginge. Dazu fehlt mir die Erfahrung. Also...

Frage: Gibt es in LotusScript auch eine EOF-Eigenschaft, die für die Schleife genutzt werden könnten??? Vielleicht wäre das die Lösung...

@Samuel
1 - Du hast Recht: eigentlich ergibt das gar keinen Sinn! Bin ich bisher gar nicht drüber gestolpert...wie gesagt: das Skript stammt aus dem Forum.

2 - s. 1. - Es wäre wohl überischtlicher, falls die Variablen mehrfach verwendet würden... zur Performance kann ich leider ncihts sagen

3 - Stimmt: Diese Methode gibt's nicht. War ebenfalls schon im beispielskript auskommentiert...


Vielen Dank schon mal für eure Mithilfe!

Gruß, Thies

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln