質問するログイン新規登録

質問編集履歴

4

情報追記

2018/03/12 05:50

投稿

viviane
viviane

スコア13

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
  パッチ適用なし
6
6
 
7
7
  上記の環境時に、
8
- 毎回、ODP.NETでオープンして接続を行いデータベースにアクセスしているのですが
8
+ 毎回、コネクションは生成してODP.NETでオープン接続を行いデータベースにアクセスしているのですが
9
9
  初回実行時のみ「ORA-03114: Oracleに接続されていません。」が発生し、2回目以降はエラーにならずに
10
10
  アクセスが行えます。
11
11
  同じような状況になった方または原因がわかる方教えて頂けないでしょうか?

3

情報追記

2018/03/12 05:50

投稿

viviane
viviane

スコア13

title CHANGED
File without changes
body CHANGED
@@ -20,4 +20,14 @@
20
20
  cmd.CommandType = System.Data.CommandType.StoredProcedure;
21
21
  ---パラメータセット---
22
22
  cmd.ExecuteNonQuery();
23
+
24
+ connOrder.Close();
25
+ if (cmdOrder != null) { cmdOrder.Dispose(); cmdOrder = null; }
26
+ if (cmd != null) { cmd.Dispose(); cmd = null; }
27
+ if (connOrder != null)
28
+ {
29
+ Oracle.DataAccess.Client.OracleConnection.ClearPool(connOrder);
30
+ connOrder.Dispose(); connOrder = null;
31
+ }
32
+
23
33
  ```

2

情報追記

2018/03/12 05:49

投稿

viviane
viviane

スコア13

title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,7 @@
2
2
  Oracle12c R2(12.2.0.1) 64ビット
3
3
  Oracleミドルウェア Oracle Data Provider for .NET(2.122.1.0)
4
4
  データベースサーバとクライアントは別PCとなっています。
5
+ パッチ適用なし
5
6
 
6
7
  上記の環境時に、
7
8
  毎回、ODP.NETでオープンして接続を行いデータベースにアクセスしているのですが

1

情報追記

2018/03/12 05:46

投稿

viviane
viviane

スコア13

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,18 @@
5
5
 
6
6
  上記の環境時に、
7
7
  毎回、ODP.NETでオープンして接続を行いデータベースにアクセスしているのですが
8
- 初回実行時のみ「ORA-03114」が発生し、2回目以降はエラーにならずに
8
+ 初回実行時のみ「ORA-03114: Oracleに接続されていません。」が発生し、2回目以降はエラーにならずに
9
9
  アクセスが行えます。
10
- 同じような状況になった方または原因がわかる方教えて頂けないでしょうか?
10
+ 同じような状況になった方または原因がわかる方教えて頂けないでしょうか?
11
+ ```C#
12
+ コード
13
+ Oracle.DataAccess.Client.OracleConnection connOrder = new Oracle.DataAccess.Client.OracleConnection();
14
+ connOrder.ConnectionString = "接続文字列"
15
+ connOrder.Open();
16
+ Oracle.DataAccess.Client.OracleCommand cmdOrder = new Oracle.DataAccess.Client.OracleCommand();
17
+ cmdOrder.Connection = connOrder;
18
+ Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand("プロシージャ名", cmdOrder.Connection);
19
+ cmd.CommandType = System.Data.CommandType.StoredProcedure;
20
+ ---パラメータセット---
21
+ cmd.ExecuteNonQuery();
22
+ ```