【问题标题】:FoxPro oledb driver wont allow writes accross servers (WCF)FoxPro oledb 驱动程序不允许跨服务器写入 (WCF)
【发布时间】:2010-01-15 16:10:20
【问题描述】:

好的,我们在 IIS6 + server2003 r2 上的一台机器上运行了 WCF 服务 此服务需要向/从位于网络上另一台机器 - windows 2003(可能是 r2)上的 fox pro 数据库写入和读取。

在使用权限(在 fox pro 文件和 WCF 中的模拟)之后,我们终于设法从中读取,但是当写入时发生异常。 (我们知道所有 DAL 代码都运行良好)。

无法更新游标 DEVENT,因为它是只读的。 (我们没有使用游标,这是驱动程序的某种内部实现) 用于 Visual FoxPro 的 Microsoft OLE DB 提供程序

DEVENT 是一个表名。

当数据库与 WCF 服务位于同一框时,一切运行正常 - 但是我们可能使用管理员帐户,因为这是我们的调试设置。

请帮我解决这个问题……它已经困扰我好几个星期了。

显然问题出在使用 fox pro ... 但我们没有这个选择。 :D

谢谢。

编辑:

好的,我们检查了目录中的所有文件都不是只读的 我们还为不同的用户、计算机和内置帐户设置了文件夹和文件的权限。这些都没有改变。 问题可能是 IIS 问题吗?使用 IIS5 时我们无法读取,因为 ASPNET 用户无法访问远程文件。此后,我们移至 II6(使用网络服务),获得了读取权限,但没有写入权限。因此,我们随后尝试对与该过程模糊相关的任何用户帐户设置管理员权限(即使那是一个安全问题)并且没有运气。 因此,我们相当确定这不是装有 fox pro 的机器上的用户帐户问题。还有其他想法吗?

【问题讨论】:

  • WCF服务运行的账户是域账户还是本地账户? .svc 文件的 IIS 管理器目录安全选项卡中有哪些帐户和设置?

标签: c# wcf oledb wcf-security foxpro


【解决方案1】:

不完全确定你为什么要责怪 FoxPro,因为你注意到了:

“当数据库与 WCF 服务位于同一框时,一切运行正常 - 但是我们可能使用管理员帐户,因为这是我们的调试设置。”

听起来确实像是您访问另一台机器的权限问题。我一直在访问其他机器上的 Visual FoxPro 数据。

除了权限之外,要检查的另一件事是另一台机器上的文件确实没有标记为只读。检查所有 DBC/DCX/DCT 和 DBF/CDX/FPT 文件的设置。

里克·舒默 VFP MVP

【讨论】:

  • 这是正确的球场。原来是机器级别的共享权限。我们对文件进行了审计,并且在无法写入异常之前它们没有被触及。
  • 权限问题是一些最难解决的问题。我很高兴你能够坚持并解决。
【解决方案2】:

如果您可以从数据库中读取但不能写入,我将不得不同意 Rick 的观点,那么这是权限问题。您用于从其他服务器访问数据库的帐户是否具有写入权限?另外,您连接到其他服务器的帐户在这两种情况下是否具有相同的权限?

【讨论】:

    【解决方案3】:

    我在使用 UNC 路径时遇到了 VFP OLEDB 提供程序的一些问题。如果这也是您正在使用的,也许您可​​以尝试使用映射的网络驱动器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 2016-10-15
      • 2016-08-09
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      相关资源
      最近更新 更多