asp.netiisdatabase-connectionoledbsaleslogix

Error when using OleDb conneciton for SalesLogix using asp.net.No error message available, result code: E_FAIL(0x80004005)


I am using SalesLogix Connection Provider and it’s a 32 bit driver. when I try to open connecton then following exception raises

System.Data.OleDb.OleDbException (0x80004005): No error message available, result code: E_FAIL(0x80004005)

I am using following connections string in both applicaiton(web and desktop)

Provider=SLXOLEDB.1;Data Source=TestServer;Initial Catalog=SLXTestApp;User Id=Alex;Password=alex124;Persist Security Info=True;Extended Properties=Port=1706;Log=Off"

When I use same code with same connection string in desktop application(C#). It open connection successfully and also get data with no error. But gives error me in asp.net 4.0 case.

Following are configurations/settings of my application

1-Platform target in both applications are same i.e x86.
2-I am using IIS(7.5.7600.16385) on webserver 2008 R2 with 64 bit OS.
3-Enable 32-bit Applications is true in Application Pool.
4-Managed pipeline mode = Integrated
5-Aspnet 4.0(C#)


Solution

  • The SalesLogix OLEDB Provider is 32 bit only. You need to run the IIS website in 32 bit mode in order to have access to the db.

    See here for details: http://help.webcontrolcenter.com/KB/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx

    You seem to already have that set up... But double check just in case.

    Then: is the driver working properly? The usual check is to run the SalesLogix LAN Client (install it if it's not already installed). Possibly just running the client installation will fix the problem for you.

    Edit: just to insert into the response another cause of this problem (which seems to be quite common) is the user account running the Application Pool, which should be Local System, usually.