|
Hi Guys i need a help,
i'am creating a report application using ASP.NET & Crystal Report in VS2003,
i'am retrieving a lot of data from Oracle DB, it's about more than 75000 records.
if the amount of record less than 1500 it works fine and fast,
my problem is if the record number greater than that = the process is taking to long and it will stop because the session is timeout.
can somebody in here tell me how to generate report faster?
thanx
|
|
|
|
|
fajrif wrote: i'am retrieving a lot of data from Oracle DB, it's about more than 75000 records.
if the amount of record less than 1500 it works fine and fast,
my problem is if the record number greater than that = the process is taking to long and it will stop because the session is timeout.
Do you individually display all 75000 rows in the report, or are they aggregated in some way? If they are aggregated then it may be a good idea to produce a set of tables with the precalculated aggregates that can be used for the report. This is a common technique used to help generate a standard set of reports quickly. The drawback is that the data used for the report is not updated as frequently as the data in the source tables. Typically the reporting tables will be updated by an overnight batch, or at the weekend or month end depending on the type of report that is needed.
|
|
|
|
|
We are doing the same exercise. Table is having millions of records. Then we are storing agg values in tables i.e. Fact table. And life is simple. And make sure you use stored procedure and with good index technq. It really works and helps. I am eye witness for the same.
Amit
|
|
|
|
|
This many records are going to take a long time to produce in Crystal Reports, pretty much no matter what you do. Remember that the problem is not just the extraction of the records, it is also the rendering them for output (and that's a lot of data to play with). In situations like this, I would see if it is possible to pre-render the reports ready to be displayed.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
I want to show my error page in new page. Old page should still shows old data.
I write in applicationerror event in global, this:
response.write("window.open('errorpage.aspx')");
But there is a problem with it. The old page shows aspx error message displaying my code and exception. If I set custom error in config, my old page will be redirected to errorpage which is set in custom error tag.
If I use Server.ClearError() method, the old page will be cleared entirely and shows blank page.
I WANT MY OLD PAGE TO SHOW THE OLD DATA WITH USER CHANGES WHICH CAUSING ERROR AND THE NEW PAGE, SHOWS MY ERRORPAGE LIKE ERROR MESSAGE IN WINDOWS APPLICATION.
I don't want to handle my all errors by try catch. I want to handle all of them in allication error. Because I can find my latest exception by Server.GetLastError() method.
Please instruct me what to do.
Thanks
Rastgar
|
|
|
|
|
See the section on Application_Error in http://support.microsoft.com/kb/306355[^].
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Anyone know how to get / set the position of the scrollbars on a panel web server control.
Thus I can remember where a user was in a given panel, if they had used the scroll bars???
Many thanks
|
|
|
|
|
yourpanleid.scrollTop, yourpanelid.scrollLeft.
for your panel id, refer your page html which is rendered.
note, these two methods are client side methods.
you can save them in a hidden field. i save them in a hidden textbox by scrollchange() method. and set them by changescroll() method:
function scrollchange()
{
document.getElementById("txtScroll").value=document.body.scrollTop;
document.getElementById("txtScroll").value+=";"+document.body.scrollLeft;
}
function changescroll()
{
if(document.getElementById("txtScroll").value != "")
{
parts = document.getElementById("txtScroll").value.split(";");
document.body.scrollTop = parseInt(parts[0]);
document.body.scrollLeft = parseInt(parts[1]);
}
}
Thanks
Rastgar
|
|
|
|
|
Hi Rastgar
Many thanks for the pointer - FYI my implementation of the initialisation, is like this: (c#)
StringBuilder sb = new StringBuilder();
sb.Append("");
sb.Append("var szValue = document.getElementById('Panel1');");
sb.Append("szValue.scrollTop = 146;");
sb.Append("szValue.scrollLeft = 182;");
sb.Append("");
ClientScript.RegisterStartupScript(typeof(string), "Init", sb.ToString());
This then just runs at startup.
And of course I can harvest the values from the user by any number of means
Once again, many thanks
regards, John
|
|
|
|
|
So I'm using this code to make a table background gradient and it works great but only in Internet Exploder:
filter:progid:DXImageTransform.Microsoft.Gradient(endColorstr='#DDDDDD', startColorstr='#FFFFFF', gradientType='0');
Is there a javascript way to do this that will be browser independent? Also I know I can do this with an image but my skill isn't up to par with sizing that image correctly so that it will handle this table properly. This table contains dynamic news events and it's height will change by the day in most cases and I just don't know how to make the background image adjust it's size to the table on each page load.
- Rex
|
|
|
|
|
|
This is where I establish my own lack of skill in this stuff.
How would I apply that to a table? I don't even know and cannot begin to fathom from the scripts posted there.
|
|
|
|
|
You are a C++ expert, and that alone qualifies you as a genius! web development is a piece of cake once you get a hang of that stupid html and js
Take it one step at a time; within the desired <td> , insert a table with one column and as many rows as you need (or vise versa), set the table's width to 100%. Make sure the container <td> (or its corresponding table) has 0 cellspace and 0 cellpadding to create a smoother effect.
Now, think about how you want to display the smooth gradient... think hex digits! The RGB is directly translated to the # sign followed by R then G then B from decimal to hex (e.g. RGB = 0, 51, 153 translates to HEX = #003399 for a dark blue) creating one hex value to identify a qnique colour. Now that you know how this works, think how you were to build series (array) of strings that 1) represent hex color codes, and 2) are in correct order for an extra smooth effect!
Build your array in a for loop, adding incremented RGB values translated to hex, then pushed into a specific position within your array.
So far you have your inner table, and your array of hex colours ready to go, all you have to do is to throw your table into yet another for loop and assign the value of each element in your array as the corresponding <td> 's color attribute (e.g. td1.style.backgroundColor = a[i]).
This is a small and quick step to becoming more familiar with dhtml. Once you get a hang of it, see what else you can do with that sucker
Nila
|
|
|
|
|
C++ was back in 1999 haven't really used it much since then. Those were the days but it was *all* WIN32.
|
|
|
|
|
ahh blah! C++ will always be the king of nerdy programming even if it was *done* in 1999 I did some of that back in 2001, in fact that was the first programming language I learned to write (oops, now you know Im just a kido!! )
Nila
|
|
|
|
|
Grapes-R-Fun wrote: Build your array in a for loop, adding incremented RGB values translated to hex, then pushed into a specific position within your array.
Right. So insert the colors into a string array with FFFFFF at the top (or read first) the transitions from FFFFFF to DDDDDD at the end or read last.
No problem there.
Grapes-R-Fun wrote: So far you have your inner table, and your array of hex colours ready to go, all you have to do is to throw your table into yet another for loop and assign the value of each element in your array as the corresponding <td>'s color attribute (e.g. td1.style.backgroundColor = a[i]).
Here's where it's tricky. What you describe if I'm following you is that each transition will take one index of the array which would most likely be 5 td's or transitions total on average.
This means that it's not going to be all that smooth. There will be 5 transitions:
Index[0]#FFFFFF <td></td>
Index[1]#F7F7F7 <td></td>
Index[2]#EEEEEE <td></td>
Index[3]#E6E6E6 <td></td>
Index[4]#DDDDDD <td></td>
With this approach I'm going to need about 15 <td>'s for each table in order to have a smooth transition.
Either I'm not following you well or this approach isn't going to be feasible due to the low number of <td>'s present in each <table>.
Right?
|
|
|
|
|
Hmm... you are right my friend! We will have to figure out a way to apply the hex array elements to 15 "thinner" lines so to make it smooth. Let me dig through some of my stuff and see if I can find something good, something bendable - stay tuned!
Nila
|
|
|
|
|
Hi, I am trying to get the absolute path from FileUpload control in Asp.net lang C#. The reason I am unable to get the absolute path is because I declared FileUpload in a Ajax/Atlas Modal popup.
Can somebody help me to get the path from FileUpload without page being PostedBack.
Thanks
|
|
|
|
|
In your modal popup store the absolute path in a session variable (Session["yourVariable"] = @"C:\blahblah\abc.txt"; ) then retrieve it from where ever.
Nila
|
|
|
|
|
this is the code i used to add a flash in my aspx webpage
<object id="kenny" style="Z-INDEX: 102; LEFT: 296px; WIDTH: 368px; POSITION: absolute; TOP: 144px; HEIGHT: 240px" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
height="240" width="368" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" viewastext="">
<param name="_cx" value="9737" />
<param name="_cy" value="6350" />
<param name="FlashVars" value="" />
<param name="Movie" value="http://localhost/JamaicaLive/FlashVideos/BobMarley-Jammin.swf" />
<param name="Src" value="http://localhost/JamaicaLive/FlashVideos/BobMarley-Jammin.swf" />
<param name="WMode" value="Window" />
<param name="Play" value="-1" />
<param name="Loop" value="-1" />
<param name="Quality" value="High" />
<param name="SAlign" value="" />
<param name="Menu" value="0" />
<param name="Base" value="" />
<param name="AllowScriptAccess" value="" />
<param name="Scale" value="ShowAll" />
<param name="DeviceFont" value="0" />
<param name="EmbedMovie" value="0" />
<param name="BGColor" value="000000" />
<param name="SWRemote" value="" />
<param name="MovieData" value="" />
<param name="SeamlessTabbing" value="1" />
<param name="Profile" value="0" />
<param name="ProfileAddress" value="" />
<param name="ProfilePort" value="0" />
<param name="AllowNetworking" value="all" />
<param name="AllowFullScreen" value="true" />
<embed src="Menu.swf" menu="false" quality="high" bgcolor="#337CF7" width="800" height="48"
type="application/x-shockwave-flash" wmode="transparent" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" />
i wan to know how can i dynamically set the src parameter is this possible?
|
|
|
|
|
I think you can have the EMBED (or whatever else) tag runat server and give it an ID (e.g. flashEmbed), then in the aspx code-behind class' Page_Load event write something like this:
If(!Page.IsPostBack){
flashEmbed.Attributes.Add("src", "Menu.swf");
}
Im no flash guru, but this is a quick way of registering client-side events/attributes.
Nila
|
|
|
|
|
when i typed in runat=server into the tag and gave flash a name. i still couldn't access it in the .vb form. i even typed me.(and u know seh this normally list everything on your page) the flash id wasn't there and even when i typed it in the program would not compile because it said that that name does not exist
|
|
|
|
|
Have you added your project a reference to FlashAccessibility COM? I know that the XHTML Transitional 1.0 standards does not support the 'embed' tag... let me see what else I can find that could help you.
Nila
|
|
|
|
|
|
I tried my original approach, and I had no problems retrieving the embed tag from my code view... maybe you should ignore the intellisense, and view that page in the web browser, see if it works. This is my little code by the way:
In design View:
<embed id="myEmbed" height="400" width="300"
pluginspage="http://www.adobe.com/svg/viewer/install/"
runat="server" />
In Code behind:
string filename = @"somefilename.swf"; //or whatever else
this.myEmbed.Attributes.Add("src", filename);
Nila
|
|
|
|