質問編集履歴
2
Commit処理について記載しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
データコピーの処理にトランザクションを貼ると(下記コードの★箇所から)、
|
23
|
+
データコピーの処理にトランザクションを貼ると(下記コードの★箇所から◆箇所まで)、
|
24
24
|
|
25
25
|
Select処理で以下のメッセージが発生します。
|
26
26
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
OleDbTransaction transaction = connMdb.BeginTransaction(IsolationLevel.ReadCommitted);
|
42
42
|
|
43
|
-
xxxTableTAdapter.SetTransaction(transaction); // ★ここから
|
43
|
+
xxxTableTAdapter.SetTransaction(transaction); // ★ここから、mdbをSelectする処理で例外が発生する。
|
44
44
|
|
45
45
|
xxxTableTAdapter.Delete();
|
46
46
|
|
@@ -59,6 +59,8 @@
|
|
59
59
|
cmd.ExecuteNonQuery();
|
60
60
|
|
61
61
|
}
|
62
|
+
|
63
|
+
transaction.Commit(); // ◆ここまで、mdbをSelectする処理で例外が発生する。
|
62
64
|
|
63
65
|
```
|
64
66
|
|
1
「前提・実現したいこと」の記載を見直しました。処理イメージを追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,9 +2,17 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
mdb
|
5
|
+
処理AでmdbのテーブルTへデータをDelete&Insertしている間、処理Bは処理A開始前のテーブルTをSelectしたいです。
|
6
6
|
|
7
|
+
|
8
|
+
|
9
|
+
以下にイメージを記載いたします。
|
10
|
+
|
11
|
+
- 処理A開始前、mdbのテーブルTにデータが100件ある。
|
12
|
+
|
13
|
+
- 処理Aは、テーブルTから100件Deleteし、90件Insertする。
|
14
|
+
|
7
|
-
|
15
|
+
- 処理A処理中、処理Bはmdbから100件Selectしたい。
|
8
16
|
|
9
17
|
|
10
18
|
|
@@ -30,9 +38,9 @@
|
|
30
38
|
|
31
39
|
```C#
|
32
40
|
|
33
|
-
OleDbTransaction transaction = connMdb
|
41
|
+
OleDbTransaction transaction = connMdb.BeginTransaction(IsolationLevel.ReadCommitted);
|
34
42
|
|
35
|
-
xxxTableTAdapter.SetTransaction(transaction); // ★ここから先、mdb
|
43
|
+
xxxTableTAdapter.SetTransaction(transaction); // ★ここから先、mdbをSelectする処理で例外が発生する。
|
36
44
|
|
37
45
|
xxxTableTAdapter.Delete();
|
38
46
|
|
@@ -42,7 +50,7 @@
|
|
42
50
|
|
43
51
|
OleDbCommand cmd = new OleDbCommand();
|
44
52
|
|
45
|
-
cmd.Connection = connMdb
|
53
|
+
cmd.Connection = connMdb;
|
46
54
|
|
47
55
|
cmd.Transaction = transaction;
|
48
56
|
|