So i have a rather large report, takes a couple of minutes to run. It does output in html but fails when requesting xls. it may be a couple of hundred rows (likely between 100-300). The processing time is all mysql functions etc getting information not selecting millions of rows. There are only 14k row in our db.
I haven't installed any of the graphing stuff in mydbr just that thing at the setup in order for mydbr to work - not sure if that makes any difference.
The environment is a turnkey linux LAMP vm running in vmware player with 4 gigs of ram assigned. host pc is i5 with 16 gigs of ram. not the best choice but the mysql db is running as a windows service on the host machine.
I did a bit of googling and tried changing the myphp memory in the LAMP and rebooting vm, but no effect. all other values in the LAMP are unchanged from defaults (what ever the turnkey appliance ships with)
IN FILE
/etc/php5/cli
SET
php_value memory_limit 2048M
-
a) Have tried clicking the download xls from the created report screen.
b) Have tried changing the report information screen to choose output as xls.
a) the error here is
( ! ) Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16384 bytes) in /var/www/mydbr/lib/utils.php on line 4395
Call Stack
# Time Memory Function Location
1 323.2002 33473600 ob_start ( ) ../utils.php:4395
b)The error here is
( ! ) Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 72 bytes) in /var/www/mydbr/lib/external/phpExcel/PHPExcel/Style/Protection.php on line 272
Call Stack
# Time Memory Function Location
1 203.7774 33261240 PHPExcel_Style_Alignment->setWrapText( ) ../export.php:556
2 203.7774 33261904 PHPExcel_Style->applyFromArray( ) ../Alignment.php:377
3 203.7775 33264448 PHPExcel_Style->__clone( ) ../Alignment.php:465
4 203.7777 33286760 PHPExcel_Style_Protection->__clone( ) ../Alignment.php:673
5 203.7777 33286808 get_object_vars ( ) ../Protection.php:272
Report Code doesn't show much as it is selecting from an existing view. But here it is anyways. Note input value is not used in this code as i am modified an existing report.
DROP PROCEDURE IF EXISTS sp_DBR12
$$
CREATE PROCEDURE sp_DBR12(project_name_in varchar (30))
BEGIN
select 'dbr.colstyle', 'Change Order', mydbr_style('redgreen01');
select 'dbr.colstyle', 'Complete', mydbr_style('redgreen01');
select 'dbr.hidecolumn', 1;
select
c.*
from test.costing5 c where c.projectname = 2014955 or c.projectname = 2014956 or c.projectname = 2014957 or c.projectname = 2014958 or c.projectname = 2014959; END
$$