Bonsoir,

En phase de tests sur mes devs, je suis tombé sur un hang lorsqu'un OCI_ConnectionFree est réalisé avant OCI_StatementFree (Le statement étant lié à la connection).

Je tiens à préciser que je pense que le fait de fermer la connection avant de libérer le statement est bien entendu hors de toute logique mais...

Fly.

Ce test a été réalisé sur la version 3.4.0.
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
 
 
	OCI_Connection *cn;
	OCI_Statement  *st;
	OCI_Resultset *rs;
 
	if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
		return EXIT_FAILURE;
 
	cn = OCI_ConnectionCreate("XX", "X", "X", OCI_SESSION_DEFAULT);
	st = OCI_StatementCreate(cn);
 
	OCI_Prepare(st, "select 'toto' from dual");
	OCI_Execute(st);
 
	rs = OCI_GetResultset(st);
 
	while (OCI_FetchNext(rs))
	{
		printf("La tête à %s\n",OCI_GetString(rs,1));
	}
	OCI_ConnectionFree(cn);
	OCI_StatementFree(st);
 
	OCI_Cleanup();