A Binary Load on a Qlik Sense App located in the Qlik Sense App share fails.
The following error is logged in the Script Log:
0002 Binary lib://Apps/8cd41016-f330-4ca0-9a6a-c46cbc31304f
Error: Cannot open file
General Script Error
Environment:
Qlik Sense Enterprise on Windows
QlikView
There are four main requirements for a successful binary load:
- Binary load must be the first statement in the load script
- Only one binary load statement per script
- The source QVW or QVF file must be available during the entire binary load*
- The reloading user must have access to read the source QVW or QVF file*
*Binary Loads from live Qlik Sense Apps are not supported in Qlik Sense Enterprise on Windows.
Example: BINARY [SenseAppID]; (for example BINARY 2d405d18-ddd3-5353-5128-adce12e482bd;)
QVF files in the Server Apps folder are read/written by Engine service when:
- When users are doing modifications on those apps, so a file lock will be always possible to happen on those files at any moment.
- In a multi-node environment, apps are constantly being synchronized(called 'binary sync) onto all nodes, which means any changes on such app from any node will have the possibility to lock the app.
- And some 'binary sync does not happen instantly. The sync actions will be delayed for several hours when the system load is high. So the file lock is very unpredictable.
During these operations, those files may be locked and causing reload task failure.
Resolution
For Qlik Sense:
Do binary load on static QVF/QVW files if necessary, or load QVD files generated by other QVD generators.
What to generally consider:
- Binary load is not the first command line in the script
It is a requirement that binary load is the first executable command in the load script. See below online help references:
Qlik Sense: Binary Load
QlikView: Binary Load
- The source application is Section Access protected
The reloading user must be allowed to access and open the file being targeted in the binary load. This means that the QlikView or Qlik Sense service user must be included in the Section Access table.
- Source QVW is updated by another task during binary load
No other task can update the source QlikView (QVW) or Qlik Sense (QVF) application file during the binary load.
- Source QVW is locked by 3rd party process, like anti-virus or backup
No other software can lock the source QlikView (QVW) or Qlik Sense (QVF) application file during the binary load.
- Source QVW is located on a file share, and file share access is interrupted by network problem
Any file share hosting the source QlikView (QVW) or Qlik Sense (QVF) application file must be available during the binary load.