Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I have the following problem: we had several (inherited) old documents to reload every day and we use some batches because at the end of some of the docs there are macros to export data in excel/qvd files. Those excel/qvd files are the sources for the following reports.
In the batch I use the qv.exe if there are macro in the doc, otherwise the qvdistributionservice.exe (enabled batch mode).
Some of the batches could run at the same time.
Sometimes the reload fails, and often I verified that I have two documents reload with the same process ID (in red in the logs below). Is this(2 docs sharing the same process ID) the problem? Or this is ok, and the problem is different?
///////////////////////////////////////////////////////////////////////////////////////////////////////
10/10/2014: | Execution started. | |
10/10/2014: | QlikView Version:11.20.12235.0 | |
10/10/2014: | CPU Target | x64 |
10/10/2014: | Operating System | Windows Server 2008 R2 Enterprise Service Pack 1 (64 bit edition) |
10/10/2014: | Wow64 mode | Not using Wow64 |
10/10/2014: | MDAC Version | 6.1.7601.17514 |
10/10/2014: | MDAC Full Install Version | 6.1.7601.17514 |
10/10/2014: | PreferredCompression | 2 |
10/10/2014: | EnableParallelReload | 1 |
10/10/2014: | ParallelizeQvdLoads | 1 |
10/10/2014: | AutoSaveAfterReload | 0 |
10/10/2014: | BackupBeforeReload | 0 |
10/10/2014: | EnableFlushLog | 0 |
10/10/2014: | SaveInfoWhenSavingFile | 0 |
10/10/2014: | UserLogfileCharset | 1200 |
10/10/2014: | OdbcLoginTimeout | -1 |
10/10/2014: | OdbcConnectionTimeout | -1 |
10/10/2014: | ScriptWantsDbWrite | false |
10/10/2014: | ScriptWantsExe | false |
10/10/2014: | LogFile CodePage Used: | 1200 |
10/10/2014: | Reload Executed By QW\install | |
10/10/2014: | Process Executing: QVB | |
10/10/2014: | Process ID: 19708 |
10/10/2014: 0002 SET ThousandSep=','
10/10/2014: 0003 SET DecimalSep='.'
10/10/2014: 0004 SET MoneyThousandSep=','
10/10/2014: 0005 SET MoneyDecimalSep='.'
10/10/2014: 0006 SET MoneyFormat='$#,##0.00;($#,##0.00)'
10/10/2014: 0007 SET TimeFormat='h:mm:ss TT'
10/10/2014: 0008 SET DateFormat='DD/MM/YYYY'
10/10/2014: 0009 SET TimestampFormat='DD/MM/YYYY'
10/10/2014: 0010 SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec'
10/10/2014: 0011 SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'
10/10/2014: 0018 OLEDB CONNECT*Provider*XPassword*
10/10/2014: 0019 SET PATH_QVD = 'E:\ReportQlik_Source\QVD\'
[....]
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
10/10/2014 6.54.21: | Execution started. | |
10/10/2014 6.54.21: | QlikView Version:11.20.12235.0 | |
10/10/2014 6.54.21: | CPU Target | x64 |
10/10/2014 6.54.21: | Operating System | Windows Server 2008 R2 Enterprise Service Pack 1 (64 bit edition) |
10/10/2014 6.54.21: | Wow64 mode | Not using Wow64 |
10/10/2014 6.54.21: | MDAC Version | 6.1.7601.17514 |
10/10/2014 6.54.21: | MDAC Full Install Version | 6.1.7601.17514 |
10/10/2014 6.54.21: | PreferredCompression | 2 |
10/10/2014 6.54.21: | EnableParallelReload | 1 |
10/10/2014 6.54.21: | ParallelizeQvdLoads | 1 |
10/10/2014 6.54.21: | AutoSaveAfterReload | 0 |
10/10/2014 6.54.21: | BackupBeforeReload | 0 |
10/10/2014 6.54.21: | EnableFlushLog | 0 |
10/10/2014 6.54.21: | SaveInfoWhenSavingFile | 0 |
10/10/2014 6.54.21: | UserLogfileCharset | 1200 |
10/10/2014 6.54.21: | OdbcLoginTimeout | -1 |
10/10/2014 6.54.21: | OdbcConnectionTimeout | -1 |
10/10/2014 6.54.21: | ScriptWantsDbWrite | false |
10/10/2014 6.54.21: | ScriptWantsExe | false |
10/10/2014 6.54.21: | LogFile CodePage Used: | 1200 |
10/10/2014 6.54.21: | Reload Executed By QW\install | |
10/10/2014 6.54.21: | Process Executing: QVB | |
10/10/2014 6.54.21: | Process ID: 19708 |
10/10/2014 6.54.21: 0002 SET ThousandSep='.'
10/10/2014 6.54.21: 0003 SET DecimalSep=','
10/10/2014 6.54.21: 0004 SET MoneyThousandSep='.'
10/10/2014 6.54.21: 0005 SET MoneyDecimalSep=','
10/10/2014 6.54.21: 0006 SET MoneyFormat='€ #.##0,00;-€ #.##0,00'
10/10/2014 6.54.21: 0007 SET TimeFormat='h.mm.ss'
10/10/2014 6.54.21: 0008 SET DateFormat='DD/MM/YYYY'
10/10/2014 6.54.21: 0009 SET TimestampFormat='DD/MM/YYYY h.mm.ss[.fff]'
10/10/2014 6.54.21: 0010 SET MonthNames='Gen;Feb;Mar;Apr;Mag;Giu;Lug;Ago;Set;Ott;Nov;Dic'
10/10/2014 6.54.21: 0011 SET DayNames='Lun;Mar;Mer;Gio;Ven;Sab;Dom'
10/10/2014 6.54.21: 0018 OLEDB CONNECT*Provider*XPassword*
10/10/2014 6.54.21: 0020 Movimenti_SG_CA_CG:
10/10/2014 6.54.21: 0021 SQL select
[....]
///////////////////////////////////////////////////////////////////////////////////////////////////////
Thanks
That is a current bug, when starting 2 batch files calling QDS.exe , they will then get the same processID and therefore one will fail.
This is fixed in upcomming Service Release 9
Hi,
You can use EDX trigger to fire macros.
I would recommend to use QlikView Server to schedule application reload.
Regards
ASHFAQ
Ok, but I missed to say the docs having errors are using the qvdistributionservice.exe
So it seems the problem is not due to the macros (I need the batch for the macros, but they don't seems to be the problem)
This could happen if same qvd's are read by two of your applications.
Hence you can try by reloading it from server only and don't execute batch or windows schedule at the same time.
Regards
ASHFAQ
sorry but I don't understand... why reading the same qvd we have the same process ID? The reload starts (getting the process ID) but it doesn't know which qvd have to read, imho
So I try to explain better: I have batch1 for the reload of doc1.qvw and batch2 for doc2.qvw
Both are using the qvdistributionservice.exe
If they start at the same time, I find both with the same windows processID, then it seems that the distribution service is not able to save both the two qvw files, it seems that it save the first one and close, and the second qvw is getting an error because the save fails. Is it possible?
In the attachment I replicate the situation.
I tried to launch the two batches at the same time and sometimes (I'm not able to launch both the batches at once) I receive the error:
13/10/2014 17:18:40 Error Could not get ScriptErrorCount/ScriptErrorList. TotalErrors=. Exception=System.Runtime.InteropServices.COMException (0x80010108): The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))
at QlikView.IArrayOfVariableDescription.get_Item(Int32 Index)
at QVBWrapper.Document.Reload(ILogBucket i_LogBucket, Boolean i_MonitorQVBCPUUsage, Boolean i_Partial, Boolean i_ReadDocumentLog)
13/10/2014 17:18:40 Information The Source Document was reloaded successfully.
13/10/2014 17:18:40 Information Closing the document.
13/10/2014 17:18:40 Error Could not close the SourceDocument. Exception=System.Runtime.InteropServices.COMException (0x80010108): The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))
at QlikView.Doc.CloseDoc()
at QVBWrapper.Document.NiceCloseThread(ILogBucket i_LogBucket)
It seems that your batch launch of QVB is using the same process image to perform the two reloads in parallel, while normally the distributionservice launches a separate QVB for each reload. Can you control this from the command line (extra parameters required)?
Just a guess.
Peter
That is a current bug, when starting 2 batch files calling QDS.exe , they will then get the same processID and therefore one will fail.
This is fixed in upcomming Service Release 9
Let me add to this answer. You can do this now if you use two different bat files or put a wait between them.
Bill
At the moment I have two different bat files; and I don't know how check (and wait) if there is another qvdistributionservice.exe already running...