Linux 3.10.0-514.10.2.el7.x86_64 #1 SMP Mon Feb 20 02:37:52 EST 2017 x86_64 x86_64 x86_64 GNU/Linux
Oracle : Release 11.2.0.4.0
Pro*C/C++: Release 11.2.0.4.0
===============================
Bonjour à tous , je suis en train de migrer une application de HP/UX vers Linux
et j'ai un gros soucis sur un Pro*Cqui à un comportement différent entre ces 2 plateformes et la commande "system"
ce soucis se produit uniquement si je suis connecté à une base ORACLE
j'ai fait un little script pour vous montré le Pb
Le resultat est conforme sous HP/UX
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
32
33 #include <stdio.h> EXEC SQL INCLUDE SQLCA; main() { EXEC SQL BEGIN DECLARE SECTION; VARCHAR uid[60]; EXEC SQL END DECLARE SECTION; sprintf((char *) uid.arr,"%s\0","scott/tiger"); uid.len = 11; printf("----------------------------------------------------------------\n"); lance_cmd("echo Avant connexion"); lance_cmd("nimportenawak"); EXEC SQL CONNECT :uid; printf("----------------------------------------------------------------\n"); printf("Connexion Oracle = (%d)\n",sqlca.sqlcode); printf("----------------------------------------------------------------\n"); lance_cmd("echo Apres connexion"); lance_cmd("nimportenawak"); } lance_cmd(char *cmd) { int r; r = system(cmd); printf("(%s)==>Resultat(%d)\n",cmd,r); }
par contre sous Linux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ---------------------------------------------------------------- Avant connexion (echo Avant connexion)==>Resultat(0) sh: nimportenawak: not found. (nimportenawak)==>Resultat(32512) ---------------------------------------------------------------- Connexion Oracle = (0) ---------------------------------------------------------------- Apres connexion (echo Apres connexion)==>Resultat(0) sh: nimportenawak: not found. (nimportenawak)==>Resultat(32512), une fois connecté le code retour de la commande system() est systématiquement à "-1"
et je ne m'explique pas ce problème
![]()
si vous avez une idée , je suis preneur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ---------------------------------------------------------------- Avant connexion (echo Avant connexion)==>Resultat(0) sh: nimportenawak: command not found (nimportenawak)==>Resultat(32512) ---------------------------------------------------------------- Connexion Oracle = (0) ---------------------------------------------------------------- Apres connexion (echo Apres connexion)==>Resultat(-1) sh: nimportenawak: command not found (nimportenawak)==>Resultat(-1)
Est-ce que les options de compilation (forcement différente entre HP/UX et Linux) pourrait expliquer ce dysfonctionnement ?
merci de votre aide
Partager