Friday, November 06, 2009
#
There have been many occasion when I try to kill iexplorer.exe process and the browser came back. Now I have to remember this when I use a new computer, which is to go to IE8 and turn that settings off.
If anything, I think this setting should be turned off by default and the user can adjust it on a site by site basis.
Thursday, November 05, 2009
#
SSRS 2008 gave me a lot of white hair for sure. Here are a few things I learned that have made my life a little easier.
- Do not use Page Header, or rather, page header is useless. If you want to do anything with data per page, use the group header.
- Do not use column header given to you by default. Create your column header as another row in the inner most group that does paging; you can control it better from there.
- When creating report for the first time, create header and footer for each group, and then hide them if you don't need them. They will save you a lot of grief later. For example, if you don't have any header for 3 consecutive groups, good luck trying to add a row in front of your 2nd group.
- If you really have to mess with grouping, do not add around the outer most or the inner most group. Instead, add it to the middle level and change the property of the inner/outer most group to match what you want.
Even though I'm a Microsoft guy, I can't give SSRS any slack because I worked so much with Crystal before and know how easy it can be. We need to catch up!
Tuesday, November 03, 2009
#
I'm dealing with this custom database where an attribute for an authorization can store many things (amount approved, flags, yes/no, etc.)
For the attribute that store the amount approved, I have a job that starts off periodically to put a TermDate on it based on some business rules. I had an expression like this in the where clause: CONVERT(MONEY, @value, 1) > 10000 simply because @value comes in as a VARCHAR field.
This fails, which I can understand. it's doing a table scan and failed when converting a "YES" into MONEY.
I then built a subquery to filter out the data first and convert @value into MONEY first. The subquery works fine and brings back data the way I want. But when I substitute this subquery in place of the original table I'm using and try to compare the "converted" value, it still didn't work.
The workaround I have right now is to put the subquery result into a temp table and select out of the temp table to do my compare. This part is not that intuitive to me and I'll find out why and post a reply here.
Feel free to post your 2 cents.
Thursday, October 29, 2009
#
I'm having an issue here at a client site. The report we designed runs fairly quickly in DEV, it takes 8 seconds for the report to render. We now have the report deployed to the production SharePoint site and it's taking 1 minutes 8 seconds to load.
Both reports point to the same database, so there is no difference on the data side. It's past 5 PM here so there is nobody on the SharePoint site, either. There is a slight difference in the hardware: the prod has 0.5 GB less available memory than DEV, but has dual-core CPU while DEV is single.
The report doesn't even deal with a lot of data. It's about 2000 records and 180 pages. The stored procedure executes in 2 seconds. There is almost no data manipulation on the report; there are some group sum calculations, but that's it.
One thing we find interesting is that executing on DEV resulted in 100% CPU usage, while it barely made a blip on either core of the CPU on prod. So I started to wonder whether there is a setting to elevate the priority of the reporting services executables.
Appreciate any thought or suggestion.
Monday, October 26, 2009
#
I've been looking everywhere on some information, but couldn't figure out whether the version that is currently on TechNet and MSDN is the Release Candidate version or the Retail version.
The most credible source (http://windowsteamblog.com/blogs/windows7/archive/2009/07/13/update-on-windows-7-rtm.aspx) states that the version for both of TechNet and MSND users is the RTM version, and the last I checked (Oct. 26), there is an update for the "N" version of the software. I searched everywhere for a date, but nobody seems to have the information on when TechNet/MSDN users would get Windows 7 retail version.
Does anybody know?
Tuesday, October 13, 2009
#
Some of you have been seeing some pictures of me putting heat sinks into 2 old computers to
- reduce noise
- provide adequate cooling for the system to run 24/7
I want to blog this for several reasons:
- To keep track of what I've been doing
- To perhaps get some suggestions of any better way of doing it.
The 3 computers I'm working with have the following specs:
- P-4 1.6 GHz, 1.5 GB PC-133 SDRAM, 120 GB IDE
- P-4 2.6 GHz, 2 GB PC-2700 DDR, 320 GB IDE, 800 GB RAID-0 SATA
- P-4 2.8 GHz, 2 GB PC-3200 DDR, 400 GB RAID-1 SATA
These are the physical box. For proof of concept purpose, all necessary servers will be installed as virtual PC/Servers.
Kind of make me regret setting up a ExpressCard/eSATA virtual environment, but this is really cool!
http://www.everythingusb.com/superspeed-usb.html
Friday, September 25, 2009
#
Business Scenario:
The client wants to build a few reports (only in HTML format) that basically have the same format, but needs paging when the report is sent to the printer.
Solution:
I built the report inside a user control to reuse the formatting, but had to solve the problem where hard-coding the page break at the UI side will give me an extra page in printing. Code:
Inside ASCX:
<%# InsertPageBreakIfNotLastPage(DataBinder.Eval(Container, "ItemIndex")) %>
Code behind (C #):
public string InsertPageBreakIfNotLastPage(object o)
{
try
{
if(System.Convert.ToInt32(o) != (dsInd.Tables[0].Rows.Count - 1))
{
return "<p style='page-break-after: always'> </p>";
}
else
{
return "";
}
}
catch(Exception)
{
return "";
}
}
Thursday, September 24, 2009
#
We run into this problem time and time again, and just want to put out the blog and set the record straight.
BizTalk nsoftware SFTP adapter v2 does not have an option to change the encoding of the file. The only possible way that I can see if to upgrade to v3 and use the "After Get" to simulate a FTP command to change the encoding of the file. For another project, we used a sort of "hack" to ftp to and from an internal location to change the encoding, but that only made sense because it's a monthly file.
We are working on HL7 project. The files come in by the thousands per day and they are all transactional, for example, the refill orders must depend on the original order. The standard HL7 ORM schema calls for <CR><LF>, but the input file we got only has <LF>, which you can see in Notepad++.