Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
i have a view in my database (Oracle) and I use this view to export data to a QVD file. I use QlikView for exporting to this QVD via a QVW file, and I want to automatically run it 2 times every day.
So I put it onto a server and I scheduled it to run 2 times every day. When I run the QVW script manually, it exports the correct QVD file. However, when it is scheduled, I have an error like this in the log file:
QVX_UNEXPECTED_END_OF_DATA:
Error: OLEDB read failed
General Script Error
Execution Failed
Execution finished.
i tried to run for each column (in my view) one by one. My problem is in the
WHERE
clause:
select ...
from ...
where ...
and ACTUAL_DATE >= to_date(sysdate, 'dd.MM.YYYY hh24:mi:ss')
I removed this "ACTUAL_DATE >= to_date(sysdate, 'dd.MM.YYYY hh24:mi:ss')"
and it runs perfectly, but when I add this clause back, I get an error.
What could I do to solve this?
I already tried it too, error is same
Hi,
Can you post sample file (.qvw)?
Could you share the qvw load log file from a failed load ?
Hi,
May be default time format and the one given in where clause was different, see to that both are same.
my date format of column (ACTUAL_DATE) is 'dd.mm.yyyy'. i am sure about that. i checked each data one by one.
I have 2 qvw files.One of them is generate .qvd file from oracle database's view, other one use this qvd file for report.
I scheduled like that : Firstly generator run, after second one (actualy report) run. If i run generator manually, qvd file will generate. After i run manually second one which actualy report and everything fine. But i add this qvw files to server task scheduler; first one which generator i get this error.
QVX_UNEXPECTED_END_OF_DATA:
Error: OLEDB read failed
General Script Error
Execution Failed
Execution finished.
My generator qvw script is like that:
NOTE: if i delete firts timesheet label, the request label run without error. But if i put timesheet label , i get error.
So i am sure OLEDB CONNECT is right.
In my timesheet_view (oracle view) i tried add each column and where clause one by one , i detect error reason is that where clause like this:
select ...
from ...
where ...
and ACTUAL_DATE >= to_date(sysdate, 'dd.MM.YYYY hh24:mi:ss')
SET ThousandSep=',';
SET DecimalSep='.';
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$#,##0.00;($#,##0.00)';
SET TimeFormat='h:mm:ss TT';
SET DateFormat='DD.MM.YYYY';
SET TimestampFormat='DD.MM.YYYY h:mm:ss[.fff]TT';
SET MonthNames='January;February;March;April;May;June;July;August;September;October;November;December';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
OLEDB CONNECT TO [Provider=xxxxxx;UserID=xxxxxxxx;DataSource=xxxxxxx] (XPassword is xxxxxxxx);
TIMESHEETS:
load *;
SQL
SELECT *
FROM TIMESHEETS_VIEW;
store VFACT_QLIKV_TIMESHEETS3 into \\qvd\TIMESHEETS.qvd;
REQUESTS :
load *;
SQL
SELECT *
FROM REQUEST_VIEW;
store REQUESTS into \\qvd\REQUESTS.qvd;
drop tables REQUESTS, TIMESHEETS
ACTUAL_DATE may be formatted like a date, but does Oracle treat it like a date?
SELECT COLUMN_NAME, DATA_TYPE
FROM all_tab_columns
WHERE column_name LIKE 'ACTUAL_DATE'
Is Date_type = 'DATE'?
If its string, you could use the below
AND DATE(ACTUAL_DATE, 'DD.MM.YYYY') < sysdate
Is there a connectivity problem between the QV server and the database server?
I have seen QVX_UNEXPECTED_END_OF_DATA errors if there is packet loss between the servers?
Can you run a ping -t whilst the load is running?
i modify your query and run it , data_type is date in my table.
SELECT COLUMN_NAME, DATA_TYPE, TABLE_NAME
FROM all_tab_columns
WHERE column_name LIKE 'ACTUAL_DATE'
I have a lot of report and no one get error exception generator.qvw . I will try ping of server.