Domino 9 und frühere Versionen > ND6: Entwicklung
ODBC AS/400 (Mehrere DSN) & Lotus Script
reraru:
Hallo zusammen!
Ich greife mit LS auf eine AS/400 ODBC Datenbank zu. Das klappt bisher sehr gut.
Sub Click(Source As Button)
Dim Session As New NotesSession
Dim db As NotesDatabase
Set db = Session.currentdatabase
Dim view As NotesView
Dim Del As NotesDocument
Dim Con As New ODBCConnection
Dim Qry As New ODBCQuery
Dim res As New ODBCResultSet
'Cache des Recordsets auf MAXIMUM setzen. Sonst werden nicht alle Datensätze angezeigt!!!
res.CacheLimit = limit&
' alle Kunden vor neuem Import aus Notes DB löschen
Dim collection As NotesDocumentCollection
Set collection = db.AllDocuments
If collection.Count >= 1 Then
Call collection.RemoveAll ( True )
End If
'Verbindungsaufbau zur AS/400
RetCode% = Con.ConnectTo("ANCRADTA","user","password")
Set Qry.Connection = Con '
Qry.SQL = "SELECT KDKDNR,KDNAM1,KDNAM2,KDSTR1,KDPLZ1,KDORT FROM ANCRADTA.KDSTAMPF WHERE KDPRGR <> 30 ORDER BY KDNAM1"
Set Res.Query = Qry
Res.Execute
RetCode% = Res.FirstRow
Do While RetCode% =True
Dim Doc As New NotesDocument(db)
doc.form = "Person"
doc.CompanyName = Cstr(Res.GetValue("KDNAM1") )
doc.OfficeStreetAddress = Cstr(Res.GetValue("KDSTR1"))
doc.OfficeZip = Cstr(Res.GetValue("KDPLZ1"))
doc.OfficeCity = Cstr(Res.GetValue("KDORT"))
Call doc.save (True, True)
RetCode% = Res.NextRow
Loop
RetCode% = Res.Close( DB_CLOSE )
RetCode% = Con.Disconnect
End Sub
In meinem SQL Statement möchte ich nun aber auf mehr als eine ODBC Verbindung zugreifen.
Ich verwende die Felder aus mehreren Tabellen. Die Tabellen befinden sich in verschiedenen Bibliotheken auf unserer AS/400.
Wie kann ich das anstellen?
Vielen Dank im Voraus!
Gruß René
P.S.: Die Suchfunktion hat mir leider nicht geholfen!
Thomas Schulte:
Ich weiss nicht wie du deinen ODBC Driver konfiguriert hast. Wenn der nur auf die Lib Zugriff hat dann wird das nicht gehen. Wenn du aber einen SystemODBC hast, dann solltest du mit:
SystemName.Libl.File in deinem SQL Statement arbeiten können.
reraru:
Hi!
Also ich habe bisher im Script hier die ODBC-Verbindung deklariert:
'Verbindungsaufbau zur AS/400
RetCode% = Con.ConnectTo("ODBC Datenquelle","user","password")
Die neue ODBC Datenquelle ist eine System DSN!
In der Datenquelle habe ich keine Bibliothek hinterlegt.
In diesem Fall müsste Dein Vorschlag:
SystemName.Libl.File evtl. funktionieren.
Jetzt habe ich gerade noch ein ganz besonders tolles Feature entdeckt!
Wenn ich das Script (das funktionierende) speichere ohne eine Änderung zu machen,
dann funktioniert das.
Gehe ich hin und setze nur irgendwo eine Leerstelle an (egal wo auch im Kommentar),
dann schlägt der Designer auf einen Hammer!
Das kann doch nur ein Bug sein, oder???
Vielen Dank!
Gruß René
Thomas Schulte:
Wenn du jetzt noch verrätst auf welche nHammer?
Das Problem ist das nicht viele von uns mal eben eine AS/400 ISeries oder wie sie aktuell gerade heissen mag zu Hause stehen haben.
Das bedeutet, Für tiefergehende Unterstützung sind wir auf Fernraten oder einen vorOrt Termin angewiesen. >:D
Ralf_M_Petter:
Die aktuelle heisst I/5.
Ich verstehe das Problem von reraru aber wirklich beim besten Willen auch nicht. Bekommt er eine Fehlermeldung?
Ja Ja Fragen über Fragen und keine Antworten!
Grüße
Ralf
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln