Fabio Di Paola 27.Sep.13 01:35 PM a Web browser LC LSXLC LSX - All ReleasesWindows
Hello everybody,
some years ago I've created a Lotusscript agent with the use of LSXLC.
The scope of the procedure is to extract a file previously store in a DB2 LOB field and the write it to disk.
Everything worked fine for almost 3 years but now we needed to expand the max size of the LOB column in Db2 from 10Mb to 64Mb and then started the troubles.
The symptom was an error message on the server console:
23/09/2013 13.05.16 HTTP Server: Agent 'db2out_age' error: Error: Unable to allocate memory, Connector 'db2', Method -Fetch-
The file, of course, was not exported to the filesystem
Then I've changed the notes.ini on the server adding the line EIUseOSMemory=1
This should prevent Domino to use its own memory but the OS memory.
After restarting the domino server everything seems to be ok for 3/4 hours but then I've got the same trouble
with a different error message :
25/09/2013 11.31.03 HTTP Server: Agent 'db2out_age' error: Error: Failed attempting to allocate 67108864 bytes to fetch data into from BINARY column
As by now I was not able to figure where the problem lies and how to fix it
(well, I could reverse the change to the db2 column rsing it back to 10 Mb but I'd need this)
Any help/idea/suggestion will be really appreciated. Thanks in advance
Below you can read some lines of the code running on domino 8.5.3:
I declare the connections for Db2 and file system
Dim c_immagine As New LCConnection ("db2")
Dim c_file As New lcconnection("file")
then I connect to both
c_file.database="D:\Domino\data\domino\html"
c_file.metadata="temp"
c_file.binary=True
c_file.connect
Call c_file.select(Nothing,1,fl_file)
c_immagine.Database = database(0)
c_immagine.Userid = user(0)
c_immagine.Password = password(0)
c_immagine.connect
c_immagine.MapByName = True
then the sql statement to select the record:
int_immagine = "select * from " & p_tabimmagini_full_l & " where ID=" & Cdbl(id$)
Call c_immagine.Execute(int_immagine, fldLstimm)
and then fetch the result (this is probaly the line generating the error) and writes it to disk
Call c_immagine.Fetch (fldLstimm)
nf$ = fldLstimm.Lookup("nomefile").text(0)
Call fl_file.MapName(fldLstimm,"NOMEFILE,DOCUMENTO","filename,contents")
Call c_file.Insert(fl_file)