Bonjour à tous,

Petit problème en fin d'après midi de boulot... Je bosse avec Oracle 9i et perl 5.10 sous Windows XP.

Je récupère sans sous soucis le champ 'machine' de la vue v$session et je souhaite ensuite l'enregistrer dans une table de ma base de données. Le problème c'est qu'il me marque cette erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
DBD::Oracle::db prepare failed: ORA-01756: une cha¯ne entre apostrophes ne se termine pas correctement (DBD ERROR: OCIStmtPrepare) [for Statement "SELECT COUNT(*) FROM sas.session_machine WHERE nom_machine = 'ADMIN\NTW2002 at getData.pl lin
e 80.
Impossible de crÚer le statement: ORA-01756: une cha¯ne entre apostrophes ne se termine pas correctement (DBD ERROR: OCIStmtPrepare) at getData.pl line 80.
La ligne 80 en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
my $sth_machine = $dbh->prepare("SELECT COUNT(*) FROM session_machine WHERE nom_machine = \'$machine\'") or die "Impossible de créer le statement: " . $dbh->errstr;
$machine peut contenir des noms de machine simple (style 'PC1') et dans ce cas ça marche ou bien des noms du style 'ADMIN/PC2' et dans ce cas j'ai une erreur.
J'ai remarqué en faisant des print que lorsque ça plante $machine contient un caractère suplémentaire à la fin mais il est invisble...

Le problème ne vient pas de la connection car j'effectue d'autre requête.

Si quelqu'un a une idée, je suis preneur.

Merci