Hallo Gemeinde,
ich stehe hier vor einem seltsamen Problem. Ich muß Daten auf einem SQL Server auslesen und entsprechende Dokumente in LN erzeugen. Ich habe mir hierzu eine Storage Procedure in SQL geschrieben der mir die entsprechenden Daten zubereitet und wollte diese nun mit der Result - Methode auslesen und in LN schreiben.
Bis 5000 Datensätze gibt es auch kein Problem - aber wenn ich mehr Datensätze einlese verhält sich LN sehr eigenartig. Ich kann nicht mehr als 7452 Datensätze einlesen.
Nachfolgendes Rohscript habe ich hierfür geschrieben:
Dim session As New NotesSession
Set db = session.CurrentDatabase
Dim qrydoc As notesuidocument
Dim view As NotesView
Dim dc As NotesDocumentCollection
Set view = db.GetView( "V_MatchCode" )
'**********Beginn Datumsfestlegung******************************************
' Abfrage des heutigen Datums( als Enddatum) - rechne als Startdatum 10 Tage zurück.
'Mit Formatbefehl in das SQL-Format bringen
Dim qry_from2 As New NotesDateTime( Today)
Call qry_from2.AdjustDay(-10)
qry_From=Format(Datevalue(Cstr(qry_from2.localtime)), "yyyy-mm-dd") 'Startdatum = Heute - 28 Tage
qry_To=Format(Datevalue(Cstr(Today)), "yyyy-mm-dd") ' Enddatum = HEUTE
'*********************************Ende der Datumsfestlegung **********************************
'*********************************Aufruf der ODBC Verbindung***********************************
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
Set qry.Connection = con
Set result.Query = qry
If con.ConnectTo ("xxxx", "xxxxxxxxxxxxx","xxxxxx") Then ' Name ODBC Verbindung,User,PW auf und öffne Verbindung
Print "Connected to " & con.DataSourceName,, "Connection made ..."
qry.SQL = "exec [RODEIT].[ER_all]"+"'"+qry_From+"','"+qry_To+"'"
result.Execute
If result.IsResultSetAvailable Then
Do
result.NextRow
Set doc = db.CreateDocument
doc.form="ER"
Call doc.Replaceitemvalue("activity_id", result.GetValue("activity_id"))
Call doc.Replaceitemvalue("Voyage_No", result.GetValue("Voyage_No"))
Call doc.Replaceitemvalue("City_point_id", result.GetValue("City_point_id"))
Call doc.Replaceitemvalue("activity_date", result.GetValue("activity_date"))
Call doc.Replaceitemvalue("eqp_type_id", result.GetValue("eqp_type_id"))
Call doc.Replaceitemvalue("eqp_id", result.GetValue("eqp_id"))
Call doc.Replaceitemvalue("Units",1)
Call doc.Replaceitemvalue("Carrier", result.GetValue("Carrier"))
Call doc.Replaceitemvalue("MatchCode",Matchcode)
Call doc.Replaceitemvalue("Vessel_Code", result.GetValue("codigo_Nave_csav"))
Call doc.Replaceitemvalue("Voyage", result.GetValue("Numero_viaje"))
Call doc.Replaceitemvalue("Service_Vessel", result.GetValue("codigo_servicio"))
Call doc.Replaceitemvalue("Service_Booking", result.GetValue("service_id"))
Call doc.Replaceitemvalue("Commodity_id", result.GetValue("Commodity_id"))
Call doc.Replaceitemvalue("temp_min", result.GetValue("temp_min"))
Call doc.Replaceitemvalue("temp_max", result.GetValue("temp_max"))
Call doc.Replaceitemvalue("hazardous", result.GetValue("hazadous"))
Call doc.Replaceitemvalue("item_high", result.GetValue("item_high"))
Call doc.Replaceitemvalue("item_width", result.GetValue("item_width"))
Call doc.Replaceitemvalue("item_lenght", result.GetValue("item_lenght"))
Call doc.Save(True,True)
'Else
' Ich mache nichts - später kommt hier ein Zusatz
'End If
Loop Until result.IsEndOfData
result.Close(DB_CLOSE)
Else
Exit Sub
End If
con.Disconnect
End If