我正在运行ISS服务器,我有一个位于C:\ WCF \ Access \中的访问文件 我正在使用此查询插入一些内容:
@"INSERT INTO Arbejdsindsats (MedarYdelID, StartTid, SlutTid) VALUES ('" + medarYdelID + "', '" + startTid + "', '" + slutTid + "')";
完整的代码是:
public String GemArbejdsIndsats(String medarYdelID, String startTid, String slutTid)
{
try{
con.Open();
String command = @"INSERT INTO Arbejdsindsats (MedarYdelID, StartTid, SlutTid) VALUES ('" + medarYdelID + "', '" + startTid + "', '" + slutTid + "')";
cmd.CommandText = command;
cmd.ExecuteNonQuery();
con.Close();
return "success: medarydelid: " + medarYdelID + " startTid: " + startTid + " slutTid: " + slutTid;
} catch(Exception e)
{
String k = e.Message;
return k;
}
}
问题是这个错误:
操作必须使用可更新的查询
当我在自己的机器上进行本地测试时,它运行正常。只是不在IIS中。
奇怪的是,有一个laccdb文件。它不会消失。也许数据库被锁定了,这就是为什么我无法更新它?
许可不应成为问题:
答案 0 :(得分:5)
用户帐户必须能够写入文件及其所在的文件夹;它应该能够创建和删除文件夹中的文件。 laccdb文件的存在并不一定意味着访问已锁定数据库。它的存在可能是由于以下任何一种情况造成的,其中一种情况可能是用户帐户无权从文件夹中删除文件。
答案 1 :(得分:1)
这个问题的解决方案非常简单。以管理员身份运行该应用程序。我尝试了3次,效果很好
答案 2 :(得分:0)
此外,请确保该文件不是只读的。