Friday, February 25, 2005

====================
Question: (Robson S., Feb 25, 2005)   I just setup snowflake.net evaluation but when i try to run my first app i receive the message on browser : A valid Snowflake license cannot be granted ! Any problem?

Answer: Before you can run the Snowflake Demo you need to install the Snowflake.net. To do this you need to download the SnowflakeNet.msi from our site and run the installation. This registers the control within your system for 30 day evaluation.

Monday, January 10, 2005

====================
Question: (D.L., Jan 10, 2005)   I have problems trying to get XMLA to work with Win 2003 servers.

Answer: You need to install MSXML4sp2 on the Windows 2003 Server.


Tuesday, December 14, 2004

====================
Question: (J.R., Dec 14, 2004)   I have downloaded Snowflake.net and tried to get it going with no luck. I got the following:
Error HTTP status 405: Method not allowed.

Answer: Can you please run through following checklist for XML/A connectivity:

1) Confirm that you receive a valid response from XML/A provider by pointing your browser to:
http://[machine/IP]/xmla/msxisapi.dll
Replace the [machine/IP] with the name or IP address for the machine that has XML/A provider installed.

You should get back an XML structure that looks like this:

<?xml version="1.0" ?>
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
- <SOAP-ENV:Body>
- <SOAP-ENV:Fault xmlns:XA="urn:schemas-microsoft-com:xml-analysis">
<faultcode>XA:XMLAnalysisError.88BA0800</faultcode>
<faultstring>The Web service supports only the POST operation.</faultstring>
<faultactor>urn:schemas-microsoft-com:xml-analysis</faultactor>
- <detail>
<Error ErrorCode="2293893120" Description="The Web service supports only the POST operation." Source="urn:schemas-microsoft-com:xml-analysis" />
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


2) Disable anonymous access for XMLA virtual folder, enable only Windows integrated authentication;

3) Do the same for the web application using Snowflake;

4) Edit web.config file of your application. Under system.web, insert

<identity impersonate="true" />


5) set UseBasicAuth Snowflake property to false;

6) run the application under the same account that can run other XMLA clients;

7) If you are running XML/A on Win2003 server please check that you have MSXML4sp2 installed.

Tuesday, December 07, 2004

====================
Question: (R.S., Dec 7, 2004)   I have noticed on the server, there is a process for dllhost.exe running under the IWAN_ user that usually has control of the CPU and is gaining memory of all kind. This process keeps gaining in Virtual Memory used. I assume this process is running the Pivot Table Services to access the Analysis Services process. It is caching the data for later use. Over a long period without activity (like overnight) this process will give up its storage. However, most of the time, after several hours, this process takes up the maximum ram available and causes the server to run very, very slowly. It’s probably thrashing. After I kill this process, within a few minutes, the server is back to normal. How can I tune a data staleness time-out so this process will flush its cache sooner?

Answer: In IIS >=5.0, you have the following choices for isolation levels of a web application:

- Low (IIS Process): The application will run in the same process space as inetinfo.exe. While you may gain some performance, you jeopardize stability and manageability of your main Web service.

- Medium (Pooled): Pooling means that every Web application set to Medium will share the same instance of dllhost.exe (run by IWAN_). This is default setting.

- High (Isolated): This choice allows you to run applications outside of both IIS and pooled processes.

I suppose that your XMLA Web service and application that hosts Snowflake have Medium settings, so dllhost.exe is shared among them at least. You should try to change the isolation level and analyze what's going on. I would change XMLA web service isolation level to "Low" first.

With your current settings, unloading of any pooled web application from IIS ("Unload" button on "Virtual Directory" Tab) should reset dllhost.exe process and free all resources including memory. Restarting of IIS services (from IIS UI or via iisreset.exe console command) is another solution.

Notice that this problem will be obsolete with Yukon (integrated XMLA interface, no need for separate XMLA service).
====================
Question: (Ron S., Dec 7, 2004)   For long running mdx queries, the operation time’s out and displays an error page. This happens after a 15-30 second time period. I have noticed that on the server, there is a process for dllhost.exe running under the IWAN_ user that usually has control of the CPU and is gaining memory of all kind. When this process is done with the CPU, I can retry the query in the browser and it will finish in less than 10 seconds. Somehow, Snowflake needs to be told to wait longer for some queries so the server process can finish. I know there are several time-out properties in Snowflake and XML/A. Any advice you can give me regarding which one to tune would be helpful.

Answer: Use the following property:

Data->XMLATimeout - Snowflake design time property (default 10.000 ms) which indicates the time Snowflake waits for XMLA request to complete

Monday, October 04, 2004

====================
Question: (Joe W., Oct 4, 2004))   I found the file in the demo and the demo works, but I need to evaluate the control in my own program. I put the control in the .net application, but when I run it I get the "A valid Snowflake license cannot be granted !" message.

Answer: It displays it because the evaluation time period has expired. After requiring the Snowflake.net demo, the installation provides 30 days for evaluation. After that time invalid license message is displayed.

Thursday, September 23, 2004

====================
Question: (Sridhar P., Sep 23, 2004))   I am trying to deploy the Snowflake on the web server. The web server doesn't have xmla installed. It is production server, and hence I can’t install anything on the box. I pointed the code to a different server with xmla installed and I commented out the license but I received the following error: "Server Error in '/tapapps/sflaketest' Application. File or assembly name System, or one of its dependencies, was not found." Do I need to install any Snowflake related components?

Answer: You should not have to install any Snowflake components on the web server. The application works if you point to any XML/A server anywhere as long as you have port 80 connectivity. When you deploy the web app it should copy the related dlls automatically - xcopy should be good enough as well. You just need to deploy a license file. The error you are getting is connected to .net framework version issues. You have used 1.1 for development and your server had 1.0. Just match the versions.
====================
Question: (Mike A., Sep 23, 2004))   I am currently evaluating your Snowflake.net product and would appreciate a printable copy of the user/developer guide. Where can I find it?

Answer:
If you have installed the evaluation version of Snowflake.net you should be able to find the developer guide in the Program Files->Intellimerce->Snowflake.net group.
Alternatively you can access the documentation online from our site at:
http://66.46.9.52/SnowflakeHelp/Snowflake.htm

Tuesday, August 03, 2004

====================
Question: (Roberto R., Aug 3, 2004))   I couldn't find a way to catch xmla exceptions (drillthrough in calculated members, wrong dimension names in the query, among others). For example, I enabled drillthrough in my cubes, and in normal measures there's no problem, but some measures are calculated measures, which means that they can't be drilled through, producing a page with the exceptions details. Is it possible to catch that exception, and put a custom page with a more user friendly explanation of the error and a back button, or put a message and return to the last query automatically?

Answer:
Handle the exceptions
You can handle the exceptions that occur within Snowflake by doing the following in the asp.net that contains Snowflake:

1. Add following code and change the behavior in any way you like within the code:

private void Page_Error(object sender, EventArgs e)
{
string errorMessage = "Error occurred:" + Server.GetLastError();
Server.ClearError();
Response.Write( errorMessage );
}

2. Bind this function to the Page Error event by adding following in the InitializeComponent function of the page:

private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.Error += new System.EventHandler(this.Page_Error); // this one we
just added for the page handling
}

This is standard asp.net handling of any exceptions generated so it would catch any other errors on the page.


Handling the drillthrough
For your specific situation of handling the drillthrough you can do the following:

1. Define 2 strings that will store the event actions such as this:

private string strAction;
private string strActionPara;

2. Then wire the Snowflake.net control's BeforeUIAction event with following code:

private void BeforeUIAction(object sender,
SnowflakeNS.Snowflake.BeforeUIActionEventArgs e)
{
strAction = e.Action;
strActionPara = e.ActionPara;
}

Note that the BeforeUIAction event occurs prior to interpreting the UI action including the Drillthrough so the actions will be caught prior to the error occurring.

3. Now modify your Page_Error to look like this:

private void Page_Error(object sender, EventArgs e)
{
string errorMessage = "Error Occured:";
if (strAction=="DrillThrough")
{
errorMessage += "The selected field does not support drillthrough.";
}
errorMessage += "\r\n";
errorMessage += Server.GetLastError();
Server.ClearError();
Response.Write( errorMessage );
}

While the Action gives us the idea that this is the drillthrough the ActionPara is not of much use in this case as it is simply the cell number so it is not used in the message.

This page is powered by Blogger. Isn't yours?