Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)
Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo
connectionInfo, Boolean beginSession)
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider
.Microsoft.AnalysisServices.AdomdClient.AdomdConnection.IXmlaClientProviderEx.ConnectXmla()
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean
createSession, Boolean isHTTP)
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
Is there any work-around for this? Does Microsoft have any intention to fix
this any time soon? This is a show stopper for applications that need to
support both AS 2000 and AS 2005 cubes.
Stan
Are you saying it happens sometimes but not always for the same
users/environment?
Thanks,
Akshai
--
Try out the MSDN Forums for Analysis Services at:
http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=83&SiteID=1
This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.
"Stan Kondrat" <StanK...@discussions.microsoft.com> wrote in message
news:88A42CF8-945D-4987...@microsoft.com...
Trying different browsers (Netscape, Firefox) causes occasional failures.
to help better understand the issue, could you please do the following:
in problematic scenario [i.e. connecting to AS2000 with changed default
language in IE]
- add ConnectTo=8.0 to the connection string;
- wrap up the connection.Open() call into something like the following and
post the output:
try
{
// code here
}
catch (Exception e)
{
Exception ex = e;
while (ex != null)
{
Debug.WriteLine("========Exception================");
Debug.WriteLine("Type: " + ex.GetType().FullName);
Debug.WriteLine("Message: " + ex.Message);
Debug.WriteLine("Stack :" + ex.StackTrace);
AdomdErrorResponseException errResponse = ex as
AdomdErrorResponseException;
AdomdConnectionException conException = ex as
AdomdConnectionException;
if (errResponse != null)
{
foreach (AdomdError r in errResponse.Errors)
{
Debug.WriteLine("::::ERROR::::");
Debug.WriteLine("code: " +
r.ErrorCode.ToString());
Debug.WriteLine("msg: " + r.Message);
}
}
else if (conException != null)
{
Debug.WriteLine("ExceptionCause:" +
conException.ExceptionCause.ToString());
}
ex = ex.InnerException;
}
} // catch
thanks a lot,
-- mary
--
This posting is provided "AS IS" with no warranties, and confers no rights.
--
"Stan Kondrat" <StanK...@discussions.microsoft.com> wrote in message
news:33705D89-BCEC-4D41...@microsoft.com...
Here is the output you requested. I should also mention that our web
application matches the Culture and UI Culture to the browsers default
language.
After switching the default IE language from English to French:
========Exception================
Type: Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException
Message: Impossible d'établir une connexion. Vérifiez que le serveur
fonctionne.
Stack : at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo
connectionInfo)
at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)
at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo
connectionInfo, Boolean beginSession)
at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConne
ction.IXmlaClientProviderEx.ConnectXmla()
at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean
createSession, Boolean isHTTP)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
... (our part)
After restarting IIS Admin service (or Visual Studio 2005 in case of the
debugger) the French browser connects to the cube.
After switching the default IE language back from French to English:
========Exception================
Type: Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException
Message: A connection cannot be made. Ensure that the server is running.
Stack : at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo
connectionInfo)
at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)
at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo
connectionInfo, Boolean beginSession)
at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConnection.IXmlaClientProviderEx.ConnectXmla()
at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean
createSession, Boolean isHTTP)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
... (our part)
Let me know if more information is required.
Thanks,
Stan
In the output generated in my previous message I forgot to add
"ConnectTo=8.0" to the connection string.
After doing that the debug output looks a bit different and is identical in
both cases of language switch (the exception message is always in English).
========Exception================
Type: Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException
Message: The LCID or Compare String flags have already been set by an
existing connection. They cannot be changed.
Stack : at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConne
ction.IXmlaClientProviderEx.ConnectIXmla()
at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToIXMLA(Boolean
createSession)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
... (our part)
Is there any relationship between this problem and this one
(http://support.microsoft.com/kb/912017/) fixed in SQL Server 2005 SP 1?
Stan
Stan
I managed to create a very small web application that clearly exposes the
problem. I added the ADOMD.NET 9.0 reference to it. It's an ASP.NET 2.0
application with only 1 page Default.aspx and its code behind file
Default.aspx.vb. The complete file contents are specified below.
Default.aspx:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default"
Culture="auto" UICulture="auto"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%ConnectToCube()%>
</div>
</form>
</body>
</html>
Default.aspx.vb:
Imports Microsoft.AnalysisServices.AdomdClient
Partial Class _Default
Inherits System.Web.UI.Page
Sub ConnectToCube()
Dim clConnection As New AdomdConnection
Dim strConnectString As String = _
"Provider=MSOLAP;Data Source=localhost;Catalog=Foodmart 2000;MDX
Compatibility=2"
clConnection.ConnectionString = strConnectString
Try
clConnection.Open()
Response.Write("Connection established!")
Catch e As Exception
Response.Write("Connection failed!<BR>" & vbCrLf)
Dim ex As Exception = e
While Not ex Is Nothing
Response.Write(vbCrLf &
"<BR>========Exception================<BR>" & vbCrLf)
Response.Write("Type: " + ex.GetType().FullName & "<BR>" & vbCrLf)
Response.Write("Message: " + ex.Message & "<BR><BR>" & vbCrLf &
vbCrLf)
Response.Write("Stack :" + ex.StackTrace & "<BR>" & vbCrLf)
ex = ex.InnerException
End While
End Try
End Sub
End Class
I'm getting the following output after changing the default language of the
browser:
Connection failed!
========Exception================
Type: Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException
Message: Impossible d'établir une connexion. Vérifiez que le serveur
fonctionne.
Stack : at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo
connectionInfo) at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo) at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo
connectionInfo, Boolean beginSession) at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConne
ction.IXmlaClientProviderEx.ConnectXmla() at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean
createSession, Boolean isHTTP) at
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open() at
_Default.ConnectToCube()
in D:\Adomd9ConnectionBug\Default.aspx.vb:line 13
========Exception================
Type: System.Net.Sockets.SocketException
Message: No connection could be made because the target machine actively
refused it
Stack : at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port) at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClientByAddress(String hostName, Int32 port) at
Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
If I remove "Culture=auto" attribute from the page directive, the problem
goes away and all connections work, even after changing the default browser
language.
I hope this helps in diagnosing the problem. Let me know if more info is
required.
Thanks,
Stan
from this info, it looks like you might be hitting the msolap8 limitation.
[when connecting to AS2000 adomd.net eventually (through ixmla) delegates to
msolap8.]
msolap8 doesn't allow usage of different LCIDs in the same process, and also
by default, adomd.net 90 uses CultureInfo.CurrentCulture to supply the lcid.
i think this would explain the error you are getting when switching the
language.
if acceptable, i think one way to go about this is to explicetly specify an
LCID in the connection string, so that to make sure it does not change in
case the default language gets re-set.
hope this explains,
-- mary
--
This posting is provided "AS IS" with no warranties, and confers no rights.
--
"Stan Kondrat" <StanK...@discussions.microsoft.com> wrote in message
news:C85F00EB-3404-4C6D...@microsoft.com...
========Exception================
Type: Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException
Message: A connection cannot be made. Ensure that the server is running.
Stack : at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConnection.IXmlaClientProviderEx.ConnectXmla()
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
at _Default.Page_Load(Object sender, EventArgs e) in c:\Inetpub\wwwroot\pruebaadodm\Default.aspx.cs:line 21
ExceptionCause:Unspecified
========Exception================
Type: System.Net.Sockets.SocketException
Message: No connection could be made because the target machine actively refused it 127.0.0.1:2383
Stack : at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClientByAddress(String hostName, Int32 port)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
From http://www.developmentnow.com/g/112_2006_9_0_0_823875/Connection-mess-in-ADOMD-NET-9-0.htm
Posted via DevelopmentNow.com Groups
http://www.developmentnow.com/g/