Link to home
Start Free TrialLog in
Avatar of SNWadmin
SNWadminFlag for United States of America

asked on

How can I fix SQL 2005 related to SQL OLE DB?

Good Day!
We are attempting to install an application that requires a COM instance however we continue to recieve an error no matter what we try.  Error message is attached.  

For background; this is a production database which works well for all other applications and databases.  We use Windows Server 2003 R2 Service Pack 2 on an x64 Enterprise install.  Loaded is SQL Server 2005 Enterprise SP2 x64.  We have applied both service packs recently in hopes of fixing this problem.  

The only option we have not tried is a repair on the SQL installation which is planned for today.  Has anyone had this problem before or maybe resolved something similar?  Your expertise would be greatly appreciated.

Thanks in advance.
Mat
sql-error.doc
Avatar of nmcdermaid
nmcdermaid

Is your app a 64 or 32 bit app?
It sounds like your app is a 32 bit app, and the only OLE DB driver installed is a 64 bit one. The app is looking for the OLE DB driver in the 32 bit version of the registry and can't find it.
Try installing the 32 bit version of MDAC and that should install your OLE DB driver.
Basically the platform of MDAC (x86 or x64) needs to match your application.
Yes, you have to instal MDAC x32 version also.
Avatar of SNWadmin

ASKER

So yesterday I ran a repair of all the SQL components, including uninstallation of the Native SQL client and reinstall.  Unfortunately this did not work like I was hoping.

Thanks for the other responses, however I'm not sure I can install MDAC x86 version.  MDAC is no longer a seperate installable product.  MS packaged up the MDAC components inside of the OS service pack therefore, I don't think I can install it.  I would be happy to listen to you if you know of a way to do this.  Windows Server 2003 R2 SP2 has MDAC 2.8 sp2 built into it.  Ironically the MDAC checker does not even detect the newer version so it displays as "UNKNOWN"    

Do you think registering the SQLOLEDB.DLL from the \Program Files (x86)\Common Files\System\Ole DB  folder might work?  I've unregistered and registered the x64 version several times but it did not work.

Any other thoughts or ideas?
ASKER CERTIFIED SOLUTION
Avatar of nmcdermaid
nmcdermaid

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for your knowledge.  I think I was on the right track but you helped me over the fence so to speak.  Thanks so much.  Cheers!  Mat
Here is the exact solution of the problem.

Using the DOS command window, browse to the following folder;  
C:\Program Files (x86)\Common Files\System\Ole DB>

run the regsvr32 command, click ok after each has successfully loaded.

regsvr32 oledb32.dll
regsvr32 oledb32r.dll
regsvr32 sqloledb.dll
Excellent! I'm glad you solved your problem and added to the knowledge base.. You don't see 'exact solutions' very often :)