[ mmim @ 17.08.2005. 13:57 ] @
Problem je sledeci:
1. Radim u ASP.NET-u, a ovo isto sam probao i u Win. aplikaciji (c#)
2. U aplikakaciji sam definisao DataSet i zove se dsIzv i ima tabele tab1, tab2, takodje sam definisao crystal report crIzv koji koristi gornji ds.
3.Iz baze po nekom kriterijumu uzimam podatke za DataSet. Zavisno od kriterijuma Dataset ima 0-400000 redova. Zelim da izvestaj eksportujem u pdf format.
Evo malo koda uz komentare:
DataSet ds;
ds=new dsIzv();
da.Fill(ds, "tab1");
//da je dataadapter koji je korektno definisan

ReportDocument rd = new ReportDocument () ;
rd = new crIzvi();
rd.SetDataSource(ds);
//Ovde nastaju problemi, jer kada je broj redova veci od nekog broja
//program ne odradi ovo pridruzivanje.
DiskFileDestinationOptions crFDestOpt = new DiskFileDestinationOptions();
crFDestOpt.DiskFileName = Fname;
//String Fname je korektno definisan i ima ekstenziju .pdf
rd.ExportOptions.DestinationOptions = crFDestOpt;
rd.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
rd.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
rd.Export();


Dakle ako je DataSet ima broj redova veci (nisam ustanovio velicinu) ovo ne odradi. Cini mi se da ne odradi ono pridruzivanje rd.SetDataSource(ds). Pomoc???


[Ovu poruku je menjao mmim dana 17.08.2005. u 15:20 GMT+1]
[ mmim @ 16.09.2005. 15:39 ] @
Kako niko ne odgovara da navedem jos cinjenica do kojih sam dosao. Kada se broj polja u DataSet-u poveca tada je broj redova za koje izvestaj radi manji. Dakle mozda neko zna da li ima Crystal Report memorijskih ogranicenja? Da li se ceo izvestaj formira u memoriji a zatim se zapise na disk (ja sam hteo da koristim pdf format)? Da li mozda moze da se konfigurise tako da zapisuje podatke na disk odmah, a ne da ih prvo cuva u memoriji? Verovatno pitam gluposti, ali mi je ovo potrebno, a izgleda samo mene muci na ovom forumu!!!
[ negyxo @ 18.09.2005. 11:59 ] @
Pa najverovatnije da ide prvo sve u ram pa onda na disk. Prvo moraju od nekud da se stvore podaci pa tek onda da se zapisu. E sad, koliko ti je velik taj izvestaj, tj. koliko bi on zauzimao da se snimi kao pdf. E ta velicina u stvari je deo memorije potreban za izvestaj. Ako je reda velicine nekoliko MB onda ne bi trebalo da ima problema. Probaj sa manjom kolicinom podataka pa ako ne radi onda nije do memorije.
[ mmim @ 22.09.2005. 07:35 ] @
Kada veliki izvestaj podelim na manje tada je u redu. Pitanje je da li se moze nekako Crystal report naterati da koristi disk umesto RAM?
[ negyxo @ 24.09.2005. 20:41 ] @
Proba sam izvestaj sa 423 000 rekorda da ucitam u crystal.
Ucitavanje je proslo normalno, jedino sto je malo sporo.
Posle toga sam exportovao u pdf, sto je proslo jos sporije.
Za ovo crystal je generisao 6945 stranica sto je izaslo oko
54 MB na HDD.

Ovo sam uradio rucno iz crystal-a, tako da nije bas identicno
kao tvoj slucaj. Probaj ovako iz crystal-a da exportujes pa vidi
'oce li puci. Ako ne pukne, onda je problem nesto sa crystalom u
.NET-u a tu nazalost mislim, ako nije neka tvoja greska u kodu,
da onda nema mnogo pomoci. Jedino sto bi mozda pomoglo je
da posaljes bug report crystal-ovom timu i da se nadas da ce da
isprave :)
[ mmim @ 14.11.2005. 11:12 ] @
Moj zadatak je da formiram izvestaje preko ASP.NET da ih zipujem i da ih posle korisnici mogu prevuci kod sebe. Dakle moram koristiti to Web programiranje. Probao sam ovo na vise lokalnih masina i zavisno od memorije te masine dobijam vece ili manje izvestaje. Posmatrao sam preko Task Manager-a sta se desava na masini. Jasno se vidi da program sqlservr.exe prvo zauzme puno memorije i formira DataSet, a zatim se povecava program aspnet_wp.exe. I izgleda da kada memorija dodje do kriticne tacke program puca. Na masini koja ima 256 MB memorije aspnet_wp.exe zauzme oko 140MB memorije i tada puca. Na takvoj masini dobijem korektan izvesta sa DataSetom od oko 3000-4000 slogova. Na masini od 1GB memorije dobijem izvestaj od DataSeta od oko 10000 slogova, aspnet_wp.exe zauzme oko 480MB memorije. Dakle ako bi mogao da nateram aspnet_wp.exe da koristi umesto memorije prostor na disku tada bi bilo uredu. Inace kada bilo koliko DataSet prepisujem u tekstualnu datoteku slog po slog nema problema. Izvinjavam se sto gnjavim ovaj forum, i unapred se zahvaljujem na strpljenju.

[Ovu poruku je menjao mmim dana 14.11.2005. u 12:15 GMT+1]
[ kleo @ 22.11.2005. 09:28 ] @
Pod WinServerom2003 i IIS6 mi je takodjer 'pucao' Crystal Report, problem je bio s atributom 'maxRequestLength' u file 'machine.config' (C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG).