Bonjour,
A partir d'une application C#, j'effectue une connexion à une base Oracle 11g de la facon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
using Oracle.DataAccess.Client;
 
OracleConnection connexion = new OracleConnection("Data Source=MaBase;User Id=MonUser;Password=MonPassword;");
connexion.Open()
OracleCommand command = new OracleCommand();
command.Connection = connexion;
 
Boucle pour chaque requete INSERT
{
      // J'ai une autre connexion pour aller chercher la séquence de l'id à insérer
      OracleConnection connexion2 = new OracleConnection("Data Source=MaBase;User Id=MonUser;Password=MonPassword;");
      connexion2.Open();
      OracleCommand command2 = new OracleCommand();
      command2.Connection = connexion2;
      command2.CommandText = "SELECT OP.ID_MVT.nextval NEWID FROM DUAL";
      command2.CommandType = CommandType.Text;
      OracleDataReader reader = command2.ExecuteReader();
      NewId = reader["NEWID"].ToString()
      reader.Close();
 
      command.CommandText = "Ma commande SQL INSERT INTO (...) VALUES (NewId......)";
      command.CommandType = CommandType.Text;
 
      command.Parameters.Clear();
 
      // ajout de paramètre à ma requerte
      command.Parameters.Add(....);
 
      command.ExecuteNonQuery();
}
Ce code fonction bien pendant quelques requêtes, mais à un moment, il bug sur "connexion2.Open()" il met "Temporisation de la demande de connexion" sans aucun message d'erreur. Je continue le debug en faisant F11, dès fois il passe et donc réexecute bien la commande Open, d'autre fois meme message, il faut le forcer 2 ou 3 fois de suite

Avez -vous une idée ?
D'avance merci car je suis bloqué!