Ok, I am sure that I will get some grief about this but I needed to submit my SAS code from a .NET application. this was on my new PC which is running Vista 32. Anyway, no matter what I did, I kept getting the following error:
"Retrieving the COM class factory for component with CLSID {440196D4-90F0-11D0-9F41-00A024BB830C} failed due to the following error: 80040154."
Well, normally that is addressed by simply installing the IntTech client and setting permissions to None in dcomcnfg. It didn't work this time.
Here is what i did to fix it (people can try these in isolation to see which one is the root):
1. Right-click on the the inttech.exe file and run it in compatibility mode for Win XP SP2
2. Go into dcomcnfg and set every single SAS DCOM object with permissions of None.
I could play with this some more but I am now behind.
Update 3/31/2010
This worked for me on Windows 7 64 and when the dcom stuff failed:
To register the IOM server,
1) Copy SASVRSRV.DLL from !SASROOT\CORE\SASEXE which can be found on
the SAS System CD or a Network copy of SAS to your Client
!SASROOT\CORE\SASEXE directory.
2) From a command prompt run !SASROOT\SAS.EXE /REGSERVER
This blog is designed to show various ways to use Data Virtualization, technologies, and SAS with Microsoft technologies with an eye toward outside of the box thinking.
Subscribe to:
Post Comments (Atom)
SAS throwing RPC error
If you are doing code in C# and get this error when creating a LanguageService: The RPC server is unavailable. (Exception from HRESULT:...
-
I was just tasked to read in LDAP records so we could cross-reference userids with login identifiers and general ledger information. Using...
-
I am finally ready with my SAS dataset reader/writer for .NET. It is written in 100% managed code using .NET 3.5. The dlls can be found here...
-
Well, around 14 months ago, I started on a journey to understand the SAS dataset so I could read and write one independently. Originally, I ...
6 comments:
Alan,
Try this:
http://listserv.uga.edu/cgi-bin/wa?A2=ind0803A&L=sas-l&P=R8359&m=251486
Regards, Audi
That CLSID is the SAS.Workspace 1.0, and the 0x80040154 means "class not registered".
If you're working with local SAS, this can be fixed with "sas /register" from your command prompt (in the SAS application directory).
On Vista, you might need to open your CMD window with "Run as Administrator" to affect this type of change - it hits the registry.
For remote SAS sessions, your inttechc\setup fix probably did the trick, because it registers the SAS.tlb (typelib) as part of its work. Again, you might have to Run as Administrator, but your "compatibility" mode approach might have amounted to the same thing.
Alan,
I don't have a Unix question. But was wondering what ever happened to the Fireworks business. Did it explode like the Pinto?
I believe the proper command to register the clssids is sas /regserver. That worked for me.
I got this one running on Windows Server 2008 R2. Go into DCOMCNFG and add NETWORK SERVICE to the Launch Permissions.
===============================
InnerException = {"Retrieving the COM class factory for component with CLSID {440196D4-90F0-11D0-9F41-00A024BB830C}
failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))."}
Post a Comment