1

我目前在使用 IIS7.5 的 ODBC 连接连接到 FoxPro 数据库时遇到严重问题

该数据库位于 IIS 服务器之外的另一台机器上,并通过文件共享访问。

当我从 IIS 服务器上的 IE 调用网页时,一切正常。当我从另一台机器调用网页时,我收到“[Microsoft][ODBC Visual FoxPro Driver]Cannot open file”错误。

应用程序池作为域用户运行。

当我在 IIS 服务器上运行 ProcMon 并调用该页面时,当从 IIS 服务器调用它时,它会访问有问题的文件,然后访问该数据库的一大堆其他 FoxPro 文件。

当我从另一台机器运行该页面时,当它尝试访问第一个文件时出现 ACCESS DENIED 错误。

这是对名为 Comp_W.DBC 的文件的 CreateFile 调用失败。

我检查了一下,调用文件共享的这些调用是同一用户,因此导致问题的不是不同的凭据。我什至将应用程序池帐户设为域管理员,以查看是否可以解决问题但仍然是同样的问题。

我无法将数据库移动到与 IIS 相同的服务器上。我试图在与 FoxPro 数据库相同的服务器上运行 Web 应用程序,但我遇到了不同的问题,因为 OWA 在该服务器上运行,并且 32 位 ODBC 驱动程序导致与作为全局加载的 OWA dll 发生冲突模块。我真的需要它在与 FoxPro 数据库不同的服务器上运行 IIS。

服务器似乎没有运行 kerberos,因为当您管理用户时,委托选项卡不存在。

任何帮助将不胜感激。

詹姆士 :-)

4

2 回答 2

2

我会使用Visual FoxPro OLE DB 驱动程序而不是 ODBC,因为它更新、更快并且不会与 OWA 冲突。这将让您将其移动到 IIS 服务器上。

于 2012-08-20T07:34:42.733 回答
0

过去的经验表明您没有授予 IIS 用户访问 DBF 所在文件夹的权限。当您在本地机器上运行 IE 时,您会直接传递凭据——当您在另一台机器上运行它时,我相信匿名用户规则会发挥作用。(自从我不得不调试这个已经有一段时间了,带着一粒盐。)

于 2012-08-27T03:12:32.557 回答