En perl j'essaye d'appeler un procedure stocker placer sur un server sysbase. Cette derniere possede en argument d'entrée un INTEGER.
Malheureusement quand j'essaye d'appeler cette derniere, j'ai un retour d'erreur comme quoi je lui passe un VARCHAR en parametre.
Quelqu'un sait il comment preciser le typepage de l'argument passer a une procedure stockée.
Exemple:
Le champ @param1 de la procedure stocker est de type INTEGER
Si je fais comme cela fonctionne:
my $query_tmp = "EXEC get_data \@param1 = 12345 ";
my $statement_tmp = $co->prepare($query_tmp);
$statement_tmp->execute();
Si je fais comme cela, cela ne fonctionne pas:
my $query_tmp = "EXEC get_data \@param1 = ? ";
my $data = 12345;
my $statement_tmp = $co->prepare($query_tmp);
$statement_tmp->execute($data);
Ou ceci fonctionne encore moins:
my $query_tmp = "EXEC get_data \@param1 = ? ";
my $data = 12345;
my $statement_tmp = $co->prepare($query_tmp);
$statement_tmp->bind_param(1,$data,SQL_INTEGER); # Perl me dit qu'il ne connait pas la definition de SQL_INTEGER
$statement_tmp->execute();
Merci d'avance...
Message édité par mandracke76 le 11-01-2005 à 14:21:41