Hallo!
Ich möchte unsere Kundenstammdaten aus der AS400 zwecks E-Mail-Marketing in ein Adressbuch importieren. Prinzipiell funktioniert es auch, allerdings werden nie mehr als 1542 Datensätze ausgelesen und da liegt das Problem: Unsere Kundendatenbank hat mehrere tausend Einträge.
Der ODBC-Treiber stammt aus dem ClientAccess von IBM. Meines Wissen gibt es hier keine Begrenzung (wurde schon mehrfach in anderen Applikationen genutzt, um derartige Datenmengen aus unserer AS400 zu bekommen...).
Hat jemand hier schon einmal eine ähnliche Erfahrung gemacht??
Das Skript:
Option Public
Uselsx "*LSXODBC"
Sub Initialize
Dim Session As New NotesSession
Dim db As NotesDatabase
Set db = Session.currentdatabase
Dim Con As New ODBCConnection
Dim Qry As New ODBCQuery
Dim res As New ODBCResultSet
RetCode% = Con.ConnectTo("AS400", "","")
Set Qry.Connection = Con
Qry.SQL = "SELECT * FROM kd.yku"
Set Res.Query = Qry
Res.Execute
Res.CacheLastRowNum = 5000
Res.LastRow
Rows% = Res.NumRows
columns = res.NumColumns
rows% = res.NumRows
RetCode% = Res.FirstRow
Do While RetCode% =True
Dim kunde As String
Dim ansprechp As String
Dim straße As String
Dim plz As String
Dim ort As String
Dim telefon As String
Dim bemerkung As String
kunde = Cstr(Res.GetValue("kdnr") )
'ansprechp = Cstr(Res.GetValue("ansprechp") )
'straße = Cstr(Res.GetValue("straße") )
'plz = Cstr(Res.GetValue("plz") )
'ort = Cstr(Res.GetValue("ort") )
'telefon = Cstr(Res.GetValue("telefon") )
'bemerkung = Cstr(Res.GetValue("ort") )
Dim Doc As New NotesDocument(db)
doc.form = "Person"
doc.type = "Person"
doc.view = "People"
'doc.fullname = kunde
doc.companyname = kunde
'doc.lastname = ansprechp
'doc.businessaddress = straße
'doc.officezip = plz
'doc.location = ort
'doc.officephonenumber = telefon
'doc.comment = bemerkung
'Call doc.ComposeWithForms (True, False)
Call doc.save (True, True)
Print "datensatz",res.currentrow , "von", rows%
RetCode% = Res.NextRow
Loop
RetCode% = Res.Close(DB_CLOSE)
RetCode% = Con.Disconnect
End Sub