During the course of the day I encounter lots of challenges, some of which take minutes to solve and others that take much longer. My goal for this section is to keep track of these challenges and their solutions. I will turn the longer ones into articles, while the shorter ones will stay as blog entries. You can expect topics to range from very specific programming challenges to broader topics like life.

Below is a list of the recent blog entries. You can also browse the blog by using the tags on the right side, or if you know what you are looking for then you can use the search box at the top right.

‘failed to get data’ in Microsoft Office 2003 Web Components

I have been working on a business intelligence project using Microsoft Analysis Services (AS) for quite some time and now we are getting close to the final roll out date. One of the problems that has been on the todo list is that some of the users were getting "failed to get data" errors from the Office 2003 Web Components (OWC) that we are using for presenting the data. Below is the error that PivotChart OWC was showing:

Failed to get data. If available, errors returned from the provider are listed below.

And thats it! The provider didn’t return any errors so I have no idea about actual errors. Seaching on google didn’t return any useful results so once again I was on my own :-/. After spending some time thinking about what could be causing the problem I ended up at the cube-level permission dialog box. I noticed that the "Enforce on" property for all the roles were set to "Client." Knowing that the OWC were pretty thin clients I decided to try enforcing the permissions on the server and guess what? This time the data provider actually returned an error:

Failed to get data. If available, errors returned from the provider are listed below.
* Safety settings on this machine prohibit accessing a data source on another domain

Now that is so much more helpful! So if you are in the same situation then make sure that you enforce the permissions on the server. To do this:

  1. Right click on the database in Analysis Services
  2. Click "Manage Roles…"
  3. Make sure that the "Enforce On" column has "Server" for the desired roles

Knowing that it was a security issue I just asked the admins to adjust the permissions accordingly for all the users and on towards the next hurdle! 🙂

End of Another Day

Well, its around 11pm and I need to go to sleep soon. Today, I spent most of the day working with Analysis Services (AS) and Office Web Components fixing issues and catching up on a Business Intelligence project. This project had slowed down because I was stuck with a one-to-many relationship issue, which AS doesn’t deal very well with. Finally, my supervisor helped me solve this issue by deciding to change the requirements on the available dimensions. I will try to post an article about this because after looking the newsgroups it looks like this is a common problem.

Read full post...

Testing the Image Module

Testing the image module… here is my 2003 GSX-R600 Alstare Edition, it’s an awesome machine! Next year I am planning on hitting the track but I am thinking I should get another bike that has already been prep’d for the track; taking this brand new bike to the track would not be very fair.d

Incremental Search in Visual Studio .Net 2003

A few days ago while looking around for the shorcuts to the immediate window I found out that Visual Studio .Net 2003 supports incremental searches! CTRL+I and CTLR+SHIFT+I triggers the incremental search. So far I have found it to be very useful when jumping around the code (I am used to the ‘/’ searching in VIM and Firefox) and thought I would bring it up.

For those of you who do not what incremental search is… incremental search searches for words as you type… so pressing CTRL+I and then ‘w’ will find the first occurrence of ‘a’ after the cursor, then ‘h’ will find the first occurrence of ‘wh’, then ‘i’ will find ‘whi’, and so on. The good thing about this mode is that you don’t use the find dialog box, so its becomes very handy.

Now go and start searching! 🙂

Today and GLUGnet

Well, I spent quite a lot of time today trying to merge two DataSet that were created from reading two exact XML files. Supposedly ReadXML() function should also build the relationship and setup the primary/foreign keys but from experience that wasn’t the case. This time luck was on my side since the parent row in my case had only one property and additionally I was doing an XSL transformation to create the XML that was read in. So I just modified the XSL to include the one property in the child rows and there I was, ready to move on!

Later in the day I attended the GLUGnet meeting and saw a presentation about Microsoft Reporting Services presented by by Alex Lowe of Micrsoft. And guess what? I won a copy of the ".Net – A Complete Development Cycle" book. They were also giving away a copy of Microsoft Windows Server 2003 Enterprise Edition! I wanted that so bad because that would have provided me with the budget for a tablet PC! 🙂 But anything is better than nothing, eh?!

I have wanted a Tablet PC pretty bad for quite some time but haven’t been able to justify the ~$2,400 price tag! A little more time and I might be able to justify the cost, or hey maybe I will get to review one!!! 🙂


Logitech diNovo Media Desktop Review

I don’t think many people know this but I have been writing reviews for Bona fide reviews. I just finished my review of the Logitech diNovo Media Desktop set, it’s an awesome and very sexy piece (or pieces) of equipment. Check it out here.

Now, I am thinking about the next thing that I should review… maybe the new Dell X50v! 🙂

Slow Day

Today has mostly been a very slow day. I worked on grabbing some tasks from Exchange for a little while then had to migrate my desktop app code to an web app. The desktop app was mostly a hack anyways so this was good because now I refactored the code. The new classes should really speed up the rest of the reports. I will try to write an article about my experience as soon as this project is finished.

My next challenge: Booting linux remotely

Lately I have had a need for an extra computer, and by chance I have got a Pentium Celeron 500 MHz computer sitting around. The problem is that hard drive on this computer has gone bad, but it does have a cd-rom and a sloppy drive, both of which are working fine. Even though hard drives are pretty cheap now a days but I have decided to take this on as a challenge and set it up as a remotely booting Linux machine.

In order to build a machine that doesn’t require even a single input source (i.e. floppy / cd-rom) you have to have a card that supports Preboot eXecution Environment (or PXE). Unfortunately the card that I have installed in that computer does not support PXE so that option is gone. From my research so far there is at least one package out there that can emulate a PXE somehow. Thats all I know about it for now… I am able to successfully set this up then I will try to put a tutorial to do it, that is, unless I find one thats already pretty good. 🙂

Checking Out Drupal

Well, somehow I stumbled upon the Drupal Content Management System today and decided to try it out. Drupal’s default interface looked pretty nice and it comes with most of the things that I needed. Also, you can put PHP code with-in the blog entries! pretty nifty. So far so good and hopefully it will stay the same.

eConnect / Great Plains: Introduction to Everything

This is where I start. Ideally I would like to give an overview of Great Plains before diving into the details but again, I don’t have too much time and most of the information in available on Microsoft’s Great Plain website (or so you would think :)). Anyways, here just a brief overview of Great Plains…

Great Plains

Great Plains (GP) was an accounting software offered by a company called Great Plains Software, Inc. I say ‘was’ because it was bought out by Microsoft in April 2001 and is now part of Microsoft. I haven’t had to deal with any of the previous versions of GP but my latest interaction with GP 7.5 hasn’t been the best one. I admit that this is a humungous application and probably requires a lot of upfront training but I still took on the challenge!


eConnect is the API provided by Microsoft for GP. This provides several different ways that can be used to connect to GP (including MSMQ, Biztalk, SOAP).