5

我正在使用 SalesLogix 连接提供程序,它是一个 32 位驱动程序。当我尝试打开连接然后引发以下异常

System.Data.OleDb.OleDbException (0x80004005):没有可用的错误消息,结果代码:E_FAIL(0x80004005)

我在应用程序(网络和桌面)中都使用以下连接字符串

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

当我在桌面应用程序(C#)中使用具有相同连接字符串的相同代码时。它成功打开连接并且还没有错误地获取数据。但是在 asp.net 4.0 的情况下给了我错误。

以下是我的应用程序的配置/设置

两个应用程序中的 1-Platform 目标相同,即x86
2-我在具有 64 位操作系统的 webserver 2008 R2 上使用 IIS(7.5.7600.16385)。
3-在应用程序池中启用 32 位应用程序是真的。
4-托管管道模式 = 集成
5-Aspnet 4.0(C#)

4

1 回答 1

5

SalesLogix OLEDB 提供程序仅为 32 位。您需要以 32 位模式运行 IIS 网站才能访问数据库。

有关详细信息,请参见此处:http: //help.webcontrolcenter.com/KB/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx

您似乎已经设置好了...但是请仔细检查以防万一。

然后:驱动程序是否正常工作?通常的检查是运行 SalesLogix LAN 客户端(如果尚未安装,请安装它)。可能只需运行客户端安装即可为您解决问题。

编辑:只是为了在响应中插入这个问题的另一个原因(这似乎很常见)是运行应用程序池的用户帐户,通常应该是本地系统。

于 2012-05-17T19:32:54.920 回答