wcf服务无法更新dbf文件 - “只读”错误

时间:2011-09-09 09:00:28

标签: wcf visual-foxpro

我有一个wcf 4服务正在尝试将记录添加到同一服务器上的visual fox pro dbf文件中。当它尝试执行插入时,我得到“无法更新游标USER,因为它是只读的。”

我认为这是权限问题。如何授予wcf服务更新dbf文件的权限?

这适用于我的开发机器。

以下是一些代码:

 OleDbConnection oConn = new OleDbConnection("provider=vfpoledb;Data Source="\\data\\tt.dbc");
            oConn.Open();
 OleDbCommand oCommand = new OleDbCommand();
                     oCommand.Connection = oConn;
                     oCommand.CommandText = "SET NULL OFF\r\nSET DELETED ON";
                     oCommand.ExecuteNonQuery();

 OleDbCommand mycmd = new OleDbCommand("insert into user (lastname,firstname) values ('Doe','John')", oConn);
            mycmd.CommandType = CommandType.Text;

                         lnRet = mycmd.ExecuteNonQuery();

2 个答案:

答案 0 :(得分:0)

这不是权限问题 - 会产生访问被拒绝错误。

要检查两件事:

  1. 文件是否标记为只读?

  2. 该文件是否被其他进程使用?

  3. 我认为#2更有可能 - 我还没有完成FoxPro,但我用Clipper做了很多dBase,并且至少在dBase下文件必须独占打开(即不共享)插入/更新/删除。

答案 1 :(得分:0)

您需要验证用于运行WCF服务的凭据是否具有对数据UNC路径的读/写访问权限。