FoxPro oledb 驱动程序不允许跨服务器写入 (WCF)
好的,我们有一个 WCF 服务运行在一台 IIS6 + server2003 r2 上的机器上 该服务需要写入和读取位于网络上另一台计算机 - Windows 2003(可能是 r2)上的 Fox Pro 数据库。
在尝试了权限(在 Fox Pro 文件和 WCF 中的模拟)之后,我们终于成功地读取了它,但是当尝试写入时发生了异常。 (我们知道所有 DAL 代码都工作得很好)。
无法更新游标 DEVENT,因为它是只读的。 (我们没有使用游标,这是驱动程序的某种内部实现) Microsoft OLE DB Provider for Visual FoxPro
DEVENT 是一个表名。
当数据库与 WCF 服务位于同一机器上时,一切运行正常 - 但是我们可能使用管理员帐户,因为这是我们的调试设置。
请帮我解决这个问题......它已经困扰我好几个星期了。
显然问题是使用fox pro...但我们没有这个选择。 :D
谢谢。
编辑:
好的,我们已经检查过目录中的所有文件都不是只读的 我们还为不同的用户、计算机和内置帐户设置了文件夹和文件的权限。这些都没有产生任何影响。 问题可能是 IIS 问题吗?使用IIS5时我们无法读取,因为ASPNET用户无法访问远程文件。我们已经转移到 II6(使用网络服务),获得了读访问权限,但没有写权限。因此,我们随后尝试在与该过程模糊相关的任何用户帐户上设置管理员权限(尽管这是一个安全问题),但没有成功。 所以我们相当确定这不是装有fox pro的机器上的用户帐户问题。还有其他想法吗?
Ok we have a WCF service running on one machine on IIS6 + server2003 r2
this service needs to write and read to/from a fox pro database that is located on another machine on the network - windows 2003 (probably r2).
After playing with permissions (both on the fox pro file and impersonation in WCF) we have finally managed to read from it but when tring to write an exception occurs. (We know that all the DAL code works perfectly fine).
Cannot update the cursor DEVENT, since it is read-only. (We are not using a cursor, that is some kind of internal implementation of the driver)
Microsoft OLE DB Provider for Visual FoxPro
DEVENT is a table name.
When the database is on the same box as the WCF service everything runs fine - however we are probably using an administrator account as this is our debug setup.
Please help me figure this out ... its been plaguing me for weeks.
Obviously the problem is using fox pro ... but we don't have that choice. :D
Thanks.
Edit:
Ok we have checked that all files in the directory are not read only
We have also set the permissions on the folder and files for different users, computers and built in accounts. None of which have made a difference.
could the problem be an IIS issue? We could not read when using IIS5 because the ASPNET user could not access remote files. We have since moved to II6 (which uses NETWORK SERVICE), got read access but not write. so we then tried setting admin permissions on any user account vaguely related to the process (even though thats a security nono) and had no luck.
So we are fairly sure that it is not a user account problem on the machine with fox pro on it. Any other ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不完全确定你为什么指责 FoxPro,因为你注意到:
听起来绝对像是您访问另一台计算机的权限问题。我一直在其他机器上访问 Visual FoxPro 数据。
除了权限之外,另一件事要检查的是另一台计算机上的文件确实没有标记为只读。检查所有 DBC/DCX/DCT 和 DBF/CDX/FPT 文件的设置。
里克·舒默 VFP MVP
Not exactly sure why you are blaming FoxPro since you note:
Definitely sounds like a permissions problem for your access to the other machine. I access Visual FoxPro data on other machines all the time.
Besides the permissions, another thing to check is that the files on the other machine really are not flagged read-only. Check settings on all DBC/DCX/DCT, and DBF/CDX/FPT files.
Rick Schummer VFP MVP
如果您可以从数据库读取但不能写入,那么我必须同意 Rick 的观点,那么这是一个权限问题。您用于从其他服务器访问数据库的帐户是否具有写入权限?另外,您连接到其他服务器的帐户在这两种情况下是否具有相同的权限?
I would have to agree with Rick if you can read from the db but not write then it is a permission issue. Does the account that you are using to access the db from the other server have write access? Also is the account that you are connecting to the other server have the same permissions in both cases?
使用 UNC 路径时,我在 VFP OLEDB Provider 方面遇到了一些问题。如果这也是您正在使用的,也许您可以尝试使用映射的网络驱动器。
I have had some issues with the VFP OLEDB Provider when using UNC paths. If this is what you are using as well, perhaps you could try with mapped network drives instead.