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 :
La ligne 80 en question :
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.
$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.
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;
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
Partager