LSX ist einfacher als LEI.
In der Designer-Hilfe steht unter Lotus Connectors/Chapter 2 Connection Class / Execute Method das folgende Beispiel:
Option Public
Uselsx "*lsxlc"
Sub Initialize
Dim src As New LCConnection ("db2")
Dim fldLst As New LCFieldList
Dim fld As LCField
Dim count As Integer
' set the appropriate properties to connect
src.Database = "Gold"
src.Userid = "JDoe"
src.Password = "xyzzy"
src.Connect
' now connected, we can execute a selection statement
If (src. Execute ("SELECT * from customer", fldLst) = 0) Then
Print "No records were fetched."
End
End If
Set fld = fldLst.Lookup ("CONTACTNAME")
Print "the 'contact names' stored in the table are:"
' fetch each record from the result set
While (src.Fetch (fldLst) > 0)
count = count + 1
Print " record #" & Cstr(count) & " = '" & fld.text(0) & "'"
Wend
If (count = 0) Then Print "No records were fetched."
End Sub
Sieht für mich machbar aus.
Axel
So hier nochma als .nsf Datei (Der Agent)
Auspacken, die .nsf in ein beliebiges Verzeichnis deines Rechners speichern.
Du mußt dann natürlich im Agenten Username, Kennwort, Datenbank eintragen, sowie auch den Select Query und das Attribut (Spalte) -> PWD ändern.
und Starten.
Keine zusätzlichen Installationen notwendig. Ich habs lokal ausserhalb von notes-data laufen lassen. Den Client habe ich erst Samstag neu installiert.
Der Agent gibt die Werte der Tupel in der Status Zeile aus.
Ich habs hier gestetet.
Dim src As New LCConnection ("db2")
Dim fldLst As New LCFieldList
Dim fld As LCField
Dim count As Integer
' set the appropriate properties to connect
src.Database = ""
src.Userid = ""
src.Password = ""
src.Connect
' now connected, we can execute a selection statement
If (src. Execute ("SELECT * from DB2Admin.Person", fldLst) = 0) Then
Print "No records were fetched."
End
End If
Set fld = fldLst.Lookup ("PWD")
Print "the 'contact names' stored in the table are:"
' fetch each record from the result set
While (src.Fetch (fldLst) > 0)
count = count + 1
Print " record #" & Cstr(count) & " = '" & fld.text(0) & "'"
Wend
If (count = 0) Then Print "No records were fetched."
Ist nicht 6 spezifisch und ich hab schon bei 2 Kunden die dolle LEI Umgebung durch solche simplen Skripte ersetzt. Es gab zumindest bei einem 5er Upgrade einen ernsthaften bug bei LEI , LEI kostet Geld und bei simplen Zugriffen auf eine DB2 Datenbank rechtfertigt sich imho der Aufwand einfach nicht. Du kannst das z.B. als gescheduleten Agenten schreiben.
Sollten deine Professoren LEI für eine tolle halten, ist es zumindest hilfreich, dass du das kennst (und andere auch). LEI ist btw. auch in Hinsicht von Performance, Einfachheit, Fähigkeiten des korrekten Typenmappings (war zumindest in einem Projekt ein ernsthaftes Problem) sowie Flexibilität des Mappings nicht mit Java O/R Mapper wie Hibernate zu vergleichen.
Gruß Axel
Hallo auch,
ich hatte dein Skript schonmal hier in diesem Forum gelesen und probiert. Es funktionierte nicht, da man nicht die Zeile mit dem "Use" mit gepostet hatte. Ich kenne eigentlich die Anwendung dieser Use Befehle. Also hab ich gestern das Beispiel in einem Form in einen Button gebaut. Und, siehe da, es klappt. Danke für den Hilfe.
Sub Click(Source As Button)
Dim src As New LCConnection ("db2")
Dim fldLst As New LCFieldList
Dim fld As LCField
Dim count As Integer
Dim text As String
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
'set the appropriate properties to connect
src.Database = "BJBUCHDB"
src.Userid = "db2admin"
src.Password = "xxxxxx"
src.Connect
'clear text variable
text = ""
'now connected, we can execute a selection statement
If (src. Execute ("SELECT * from ADRESSE", fldLst) = 0) Then
text = "No records were fetched."
End If
Set fld = fldLst.Lookup ("NAME")
'fetch each record from the result set
While (src.Fetch (fldLst) > 0)
count = count + 1
text = text + fld.text(0) & ","
Wend
'post text in field Name
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Call uidoc.FieldSetText("Name", text)
End Sub
Vielen Dank. Mal sehen, was noch so geht. So kann ich wenigstens auf die Einrichtung von LEI verzichten.
Grüße
Björn