2

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ファイルがあります。それは消えません。たぶんデータベースがロックされているので、更新できないのですか?

許可は問題ではないはずです:

img http://img.ctrlv.in/50c0dbf8670d8.jpg

4

3 に答える 3

5

The user account must be able to write to the files and to the folder in which they are located; it should be able to create and delete files in the folder. The presence of the laccdb file does not necessarily mean that access has locked the database. Its presence could be the result of any of several circumstances, one of which could be that the user account doesn't have permission to delete files from the folder.

于 2012-12-06T19:12:40.370 に答える
1

この問題の解決策は非常に簡単です。そのアプリケーションを管理者として実行するだけです。私はそれを3回試しました、そしてそれは完全に働きました

于 2016-12-04T09:55:43.590 に答える
0

また、ファイルが読み取り専用でないことを確認してください。

于 2018-03-08T22:42:15.407 に答える