views:

131

answers:

2

Hello,

I have been trying to work on integrating a NewsLetter for a companies local intranet and I keep running into the same error that everyone seems to be getting. I am running this on IIS 5.1 and on error exists at Server.CreateObject(ADODB.Connection), also the purpose of the ASP code is to read an Excel file

Error Type: Server object, ASP 0196 (0x80040154) Only InProc server components should be used. If you want to use LocalServer components, you must set the AspAllowOutOfProcComponents metabase setting. Please consult the help file for important considerations.

I have tried the solution to locate to my AdminScripts directory and setting the boolean value to True with cscript adsutil.vbs set /w3svc/aspallowoutofproccomponents True and then verified by cscript adsutil.vbs enum /w3svc > verified.txt

Opening up the textfile, it does show that the value is set to true but I run into the same error again when trying to access the ASP page. I am at a loss, I figured after reading all those people post questions that I'd ask the question myself.

I cringe at the sight of that error messages, please make my nightmare end.

+1  A: 

Its a bizare error to be getting in the first place. Why would the simple ADODB.Connection object be considered an out-of-process component?

The only thing I can think of that might cause this is if someone has accidently dragged the ADO dll into a COM+ Service. Check the set of COM+ Services anything unusual installed there?

In an attempt to repair you could download the latest MDAC from Microsoft's download area and re-install it on your machine.

Enabling out-of-proc components to is not the answer ADODB.Connection should not be out-of-proc.

Next Step

Fire up Regedit, find in Keys the key value of {00000514-0000-0010-8000-00AA006D2EA4} under HKEY_CLASSES_ROOT

You should find an InprocServer32 key with a default value: C:\Program Files\Common Files\system\ado\msado15.dll

The ProgID should ADODB.Connection.2.8.

AnthonyWJones
I have tried to re-install but it says incompatible types and that all the MDAC is already installed and I have checked the COM+ Services and nothing fishy about it. I am running the intranet off the work computer which is running Windows XP, does that make the difference? Thats the only thing I can think of.
Anthony Forloney
i tried to find within regedit but cannot locate InprocServer32 key, I even checked in HKLM\Software\Classes\CLSD\{00000514-0000-0010-8000-00AA006D2EA4}\ and found Default with no value set and the subfolder ProgID with the value of "ADODB.Connection.2.8" but no InprocServer32
Anthony Forloney
So there are InProcServer32 keys corresponding to ADODB.Recordset.2.8, ADODB.Parameter.2.8, and so on and so forth. Why not for ADODB.Connection.2.8? Why must ASP hate me so much? :/
Anthony Forloney
I certainly looks like MDAC is just not installed correctly on that machine. Its time for a you to investigate what else is installed on the machine and discover what "incompatible types" really means. By one means or another you need to MDAC correctly installed.
AnthonyWJones
A: 

I had to use:

Regsvr32.exe "C:\Program Files\Common Files\system\ado\Msado15.dll"

in the command window to have the InProcServer32 key appear, thank you Anthony.

Everything is up and working now. My nightmares are over!

Anthony Forloney