This project has moved. For the latest updates, please go here.

Installation on 2008 R2

Topics: Developer Forum
Feb 9, 2011 at 11:54 PM

I've tried installing ASSP.dll on 2008 R2 and it does NOT work on 2008 R2. I've tried 2 servers.  I get an error that msmgdsrv assembly is not found. When I try adding it I get another error that says that DLL is malformed or not a pure .NET assembly. Does anyone have any ideas or suggestions?

Coordinator
Feb 10, 2011 at 4:02 PM

Did you happen to download the ASSP 2005 download? Go to the Downloads tab above and make sure you choose ASSP 2008 download. When I unzip the the ASSP 2008 v1.3.5.zip file I get ASSP.dll which is 215 KB (220,672 bytes). And if I look at the Details tab I see File version 1.3.5.0. Double check that's the same on your ASSP.dll file.

What query do you run that gives you the error about msmgdsrv?

Feb 15, 2011 at 5:17 PM
Edited Feb 16, 2011 at 9:44 AM

I downloaded the ASSP 2008 DLL and got the same error against 2008 R2.  The error is when I try to create a new assembly...

"Create failed for SqlAssembly 'ASSP'

An exception occured...

Assembly 'msmgdsrv, version=9.0.0.0, culture=neutral, publickeytoken=blah...'
was not found in the SQL catalog. (Microsoft SQL Server, Error: 6503)"

Is this because it was compiled against ADOMD version 9.0 when the current version is 10.0?  (Just a thought.)

I tried recompiling the source code targetting .NET 4.0, but then I realised it has to target 2.0 to be able to work against SSAS...  Maybe the problem is to do with the way I installed SQL Server.  I have read elsewhere that this error happens when you install SQL Server before Visual Studio, but I haven't (and don't want to) installed Visual Studio on a server...!

 

 

Coordinator
Feb 16, 2011 at 11:56 AM

You guys are both right. I opened the DLL in Reflector, and you are correct it references the 9.0.0.0 msmgdsrv DLL. We'll need to fix the latest ASSP release. Thank you SO much for reporting this.

I tested the release on a 2008 and a 2008 R2 server, and it worked for me. I wish I could explain why it worked for me and not for you. Regardless, we'll get it fixed soon.

Feb 16, 2011 at 12:06 PM

Probably because you have both versions of ADOMD.NET installed on the machine you are testing against (local installation?)? 

My understanding is that any version of ADOMD.NET can talk to SQL Server 2008 R2 (with varying levels of conformity) but the one that is installed when you install vanilla SQL Server 2008 R2 is v10.  I imagine v9 comes with Visual Studio (or you can install it manually from a Micro$oft package).  However, and I haven't tested this, I think if you have v10 you can't install v9 "on top" of it so you have to get the installation order right.

Coordinator
Feb 16, 2011 at 3:41 PM

I'm pretty confused now. I checked, and I didn't accidentally compile ASSP against the AS2005 msmgdsrv.dll file. From what I've seen on my laptop and on several AS2008 R2 servers, they kept the assembly version at 9.0.0.0 for the AS2008 and AS2008 R2 msmgdsrv.dll, at least through version 10.50.1600.1 (which is AS2008 R2 RTM).

When you connect to SSAS in SSMS object explorer, what version does it say your AS instance is? And then if you open the following file in Reflector, what assembly version does it say?

C:\Program Files\Microsoft SQL Server\MSAS10_50.<your instance name>\OLAP\bin\msmgdsrv.dll

Mine says "msmgdsrv, Version=9.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" despite the fact that it's AS2008 R2.

Feb 16, 2011 at 3:53 PM

Okay, I got this to work by taking (borrowing?) just the code I needed and I compiled it in Visual Studio 10.0 targetting .NET 3.5 Framework (couldn't get it to work targetting .NET 2.0).  My version of SSAS is 10.50.1600.1 (as expected).

My version of msmgdsrv.dll is 9.0.0.0 when I compile it but this works fine when I add the assembly into SSAS 2008 R2 for some reason.  I can use the functions in SSMS when writing MDX queries and (more importantly) when defining custom drill-through actions in BIDS.

I am confused as well - because I see no reason why your DLL shouldn't work exactly the same way - but it definitely gives me an error (the error I listed above).  The same happens if I recompile the source code on my machine and then try to link it.  I guess I could try mucking around with it - but to be honest, now I have this working, I am loathe to play with it too much ;p

I don't know if it will help - but here is the code I am compiling:

using System;
using System.Data;
using System.Data.OleDb;
using Microsoft.AnalysisServices.AdomdServer;

namespace ASSP
{
    public partial class SQLQuery
    {
        public static DataTable ExecuteSQL(string connectionString, string sql)
        {
            OleDbConnection conn = new OleDbConnection(connectionString);

            DataTable dt = new DataTable("Results");
            OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
            da.Fill(dt);
            return dt;
        }
    }

    public partial class Drillthrough
    {
        public static string CurrentCellAttributes()
        {
            // start with empty string
            string coordinate = String.Empty;
            bool first = true;
            foreach (Dimension d in Context.CurrentCube.Dimensions)
            {
                // skip measures
                if (d.DimensionType == DimensionTypeEnum.Measure)
                    continue;

                foreach (Hierarchy h in d.AttributeHierarchies)
                {
                    // skip user hierarchies - consider attribute and parent-child hierarchies
                    // (parent-child is both user and attribute hierarchy)
                    if (h.HierarchyOrigin == HierarchyOrigin.UserHierarchy)
                        continue;
                    if (!first)
                        coordinate += ",";
                    first = false;
                    coordinate += h.CurrentMember.UniqueName;
                }
            }

            return coordinate;
        }
    }
}

Yes, I was lazy and kept the same namespace... and I only needed two functions so that was all I bothered getting to work.  I'm very grateful to you for all the work you have put into this - it was such a simple idea but has so many uses to fill in the gaps in functionality in SSAS (until Microsoft get round to fixing this).

As I said before, the "using Microsoft.AnalysisServices.AdomdServer" references msmgdsrv.dll v9.0.0.0.

Feb 16, 2011 at 3:55 PM

Just to add...

Maybe there isn't really a problem and it is just something funny about my environment.  The OP "seems" to have the same problem, but reading his post again makes me think that maybe it was something entirely different.  I guess you need more people to try using your DLL with 2008 R2 before confirming that there is or isn't a problem?

Feb 16, 2011 at 3:56 PM

Okay... I will shut up now... but I re-re-read the OP and it sounds like:

- he had the same problem as me;
- he tried to add msmgdsrv.dll as an assembly (duh - no way!)
- this didn't work;
- he gave up.

Feb 16, 2011 at 4:05 PM

Right, got your DLL to work too - by changing it to also target .NET Framework 3.5.  Recompiled and it worked first time.  So then I got to thinking and tried the original DLL from 29-Dec-2010 from this site... and it worked!!

So now I am VERY confused as nothing has changed in my environment other than me linking/ delinking a few assemblies.

Coordinator
Feb 24, 2011 at 4:48 AM

This doesn't sound identical, but it does sound similar:
http://support.microsoft.com/kb/2491439

If anybody runs into this issue, it may be worth installing CU6 or higher:
http://support.microsoft.com/kb/2489376/en-us

Please report back if you try this.

Oct 19, 2011 at 5:39 PM

Hi All,

Was anyone able to get the ASSP on a SQL Server 2008 R2 64-bit? I just installed SP1 hoping that this would resolve the issue based on the last post, still no luck.

Details:OS: Windows 2008 R2 Enterprise Database: SQL Server 2008 R2 SP1 64-bit

Any help would be greatly appreciated

 

Coordinator
Oct 20, 2011 at 8:50 PM

I have ASSP working fine on SSAS 2008 R2 64-bit. Which issue are you referring to specifically? Are you saying you are getting the error about the missing Sharepoint dll when you add the assembly to Analysis Services?