Tag Archives: MicroStrategy

Intelligence Server SDK startup kit – v2

In the first episode of this series I showed you how to connect to a MicroStrategy project using VB6. Time has come to look at three ways that can be employed to find an object.

Two of these methods (objSearch.Execute and ObjectSource.FindObject) are actually covered by Tech Notes on the Knowledge Base. Nevertheless, I thought to embed them in easy to use Functions.

The third method is the famous Search by ID, as I think is time for me to disclose its secrets… To be honest I never thought I would, but hey, it’s my 3 years within MicroStrategy community anniversary, so this one is on me :)

You can download the VB6 project files here:

Application(s) is provided “as is” and MicroStrategy101 and individual application author(s) disclaim all warranties, whether express or implied, with respect to all provided items, including all warranties of merchantability, fitness for a particular purpose, accuracy, systems integration, title, satisfactory quality and non-infringement. MicroStrategy101 and individual application author(s) do not warrant that use of the provided items or any portion thereof will be uninterrupted or error-free, or that the provided items or any portion thereof will meet any need or requirement of licensee.

Intelligence Server SDK startup kit

I happen to know a guy or two whose curiosity for Intelligence Server SDK increased alarmingly in the last couple of months. I dedicate this article to them, and anybody who would like to get their hands dirty with some cool stuff.

But first of all, what is IS SDK? Most of the SDK guys are familiar with the Web SDK, the one which allows endless customizing to the web interface of MicroStrategy, amongst other things. Intelligence Server SDK, on the other hand, deals with reading, creating, modifying and executing objects from your Metadata. One can easily consider it to be Command Manager’s big brother who went to College. Unlike Command Manager, IS SDK is anything but user friendly. But man, it packs a serious punch if you learn how to handle it! The documentation and Tech Notes do provide all the necessary information to do just about anything, but actual examples are scarce.

IS SDK can be used via Visual Basic or C++. Since I’m by no means a pure breed programmer, I work with VBA, which is more or less like speaking English to the computer.

Enough introductions already. If you want to unleash its power, the first thing you must do is connect to a project. This apparently simple task poses enough challenges to deter many an enthusiastic programmer from going any further. I find this counterproductive and quite discomforting.

This is why I assembled a startup kit customized for VB6, which offers the code and explanations on how to connect to a project. Actually, it is the exact form that I used for Metadata Browser.

Download here:
Connection.zip

Updates and new tips may come in the future, depending on your feedback.

Spool space error

Okay, so this is an old one, but I still find it useful.

If you can’t run a report because of a spool space error, and you can’t convince the DBA to give you a couple of gigabytes more, then you might want to go to the Report Editor, Data ->VLDB Properties -> Tables -> Intermediate Table Type and select True temporary table.

What this does is modifying the SQL so that instead of having a huge chunk of code (that would use up a lot of memory) it breaks the code into CREATE – INSERT bits that are far easier to handle. It also makes the SQL more readable by humans (this includes programmers).

By the way, this setting also comes to rescue when you get the “Database is terrified by the script and it can’t even begin to analyze it” error. I don’t have the specific error message at hand, but I know for sure that Teradata does this when the SQL code is all in one pass and is so large that it can be seen from the Moon.