Showing results for 
Search instead for 
Do you mean 
Community Home Request Access Read Blogs Share Your Ideas Search Community View My Settings
Reply
Highlighted
Nickel Contributor
Posts: 51
Registered: ‎07-31-2008
Accepted Solution

Problem with SLX OLE DB Provider on Windows 2008 x64

I have a ASP.Net application that uses a connection to the SLX Provider.  It works fine on my 64bit development box, but I seem to be having an issue with the SLX Provider (v7.5.2) on a  Windows 2008 x64 server.  When I try to establish a test connection using a UDL file to the provider, I get the following error...

 

---------------------------
Microsoft Data Link Error
Provider is no longer available. Ensure that the provider is installed properly.
---------------------------

 

I've tried scrubbing SLX off of the server and reinstalling, but same result. I've even tried manually registering SLXOLEDB.dll with no avail.

 

I have 32bit mode enabled in IIS7.  When I try to connect to the page, it times out and I get the following message in the windows logs..

 

---------------------------

Faulting application w3wp.exe, version 7.0.6002.18005, time stamp 0x49e023cf, faulting module oledb32.dll, version 6.0.6001.18000

---------------------------

 

When I try it in 64 bit mode, I get the same error as the ULD test.

 

Something to note:  the server is localy running SQL 2008, but the SLX database in on another server running SQL 2005. 

 

 Any thoughts on where to go from here?

Nickel Contributor
Posts: 51
Registered: ‎07-31-2008

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

... forgot to mention that the SLX LAN client connects and works fine from this server.
Nickel Contributor
Posts: 51
Registered: ‎07-31-2008

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

It looks as though I have found a solution to the problem here.

 

The issue is due to the wrong flavor of OLEDB32.DLL and OLEDB32r.DLL being registered on the server.  If the 64 bit versions are registered, they need to be unregistered, and then the 32 bit versions registered instead.   To fix this, unregister the versions located in %Program Files%/Common Files/System/OLE DB.  Then register the versions at the same path but in the %Program Files (x86)% directory.

 

Additionaly, if you are using the provider in a web application, you must use a domain user (not Network Service).  WebDLL is always a safe bet Smiley Wink

You must also enable 32 bit applications in IIS.  You can do this by going to the advanced settings on the application pool used by the app.

 

Hope this saves someone some time! 

Bronze Super Contributor
Posts: 349
Registered: ‎03-24-2009

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

Thanks for sharing your solution!
Timmus Agersea
Black Moth CRM
New Member
Posts: 1
Registered: ‎09-16-2010

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

Hi jcouzens, 

 

Thanks for shareing your solution.   I have  the same problem with your post now.  I know this is a post long time ago, but  can you give me some suggestion about this, it takes me 3 days but no result for this problem.

 

I have a website running on 32-bits server which will connect with the SLX server,  the SLX server  is running on the other server which is 32-bits.   It works fine until now.

 

Because I moved my website to the 64-bits 2008 R2 server.    I always get the error when I browse my website on the new server, it said "No error message available, result code: E_FAIL(0x80004005)."

 

There are some of  the details about the error:

 

[OleDbException (0x80004005): No error message available, result code: E_FAIL(0x80004005).]
   System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +975157
   System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
   System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4865788
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
   System.Data.OleDb.OleDbConnection.Open() +40

 

I  installed the SalesLogix OLE DB Provider on my new server.  and tried your method, unregistered the oledb32.dll under the %Program Files directory, and registered the oledb32.dll under the %Program Files (x86) directory, (I don't know why I cannot unregister the oledb32r.dll),  enabled the 32-bits application on the AppPool. 

 

but the error is still here.

 

Can you give me some suggestion?   Thanks very much.

 

Nancy

Tuned Listener
Posts: 12
Registered: ‎03-19-2009

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

I, too, would like to add a "thank you" for your solution.  This was one of those issues that have taken up half a day; glad you had the answer.

 

 

New Member
Posts: 2
Registered: ‎08-11-2011

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

I know this is an old post but I am unable to unregister the oledb32r.dll using regsvr32 either the 32 bit or 64 bit version. I get this error:

 

    The module "oledb32r.dll" was loaded but the entry-point DllUnregisterServer was not found.

 

    Make sure that the "oledb32r.dll" is a valid DLL or OCX file and then try again.

 

I tried to stop all the SQL Server services (SLX has yet to be install on this system) but that did not help.

 

If you can provide any details here that would be great.

 

Thanks in advance.

Employee
Posts: 314
Registered: ‎05-19-2009

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

That's a Microsoft error rather than a SLX one.

I'd suggest googling the error, you'll get plenty of results and possible solutions.
New Member
Posts: 2
Registered: ‎08-11-2011

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

Tried that which is why I came here. I thought that since some people were successful they may want to share exactly how they did it.

Bronze Super Contributor
Posts: 152
Registered: ‎02-01-2011

Re: Problem with SLX OLE DB Provider on Windows 2008 x64

The OLEDB32R.dll throws that error when you try to register, but it hasn't caused problems for me on 2008 R2 64-bit. You can test the SLXOLEDB provider by opening a test UDL file (create a blank text file on C: and give it the .udl extension) with the OLEDB link manager in 32-bit mode: 

 

C:\Windows\syswow64\rundll32.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\test.udl

 

You should be able to access the link successfully from the client machine. If this fails, your App Server connection may be to blame. Did you set Persist Security Info to true, and clear out Integrated Security field, the under the All tab in the connection manager? Is the correct SQL Native Client version installed on all clients?

 

Firewall settings are another possibility - all client machines need 1706 (default SLX) and 1433 (default SQL) open in order to access the App server and the SQL server directly. The connection string is retrieved from the App server (DES encrypted) so that the SLXOLEDB provider can access SQL directly.

Andy Freeman
TrellisPoint, LLC