Cette erreur n'a rien à voir avec un problème dans la procédure que vous exécutez. Cette erreur concerne la façon dont vous l'appelez dans une base de données par rapport à une autre. C'est l'appelant dans DEV qui envoie la bonne combinaison de paramètres et de types de paramètres. La logique qui appelle finalement la procédure dans PROD envoie une combinaison différente de paramètres.
Vérifiez d'abord la spécification de la procédure dans les deux bases de données pour vous assurer qu'elle est vraiment la même. Recherchez les différences dans les paramètres, les types de données ou toute différence dans DEFAULT NULL ou similaire.
Ensuite, vérifiez la logique qui appelle la procédure actuelle entre les bases de données. Habituellement, il manquera un des paramètres ou le type de données sera incorrect. L'ordre de vos paramètres est également important si vous n'utilisez pas la notation nommée.
Si finalement vous êtes sûr que tout est pareil, alors il est possible que ce soit lié aux données l'un des paramètres entrants manque de valeur et vos pilotes C++ n'appellent pas la même procédure.
Ceci est une erreur solide et claire et il est dit qu'il y a finalement une différence dans la façon dont il est appelé. Bonne chance.
Il serait utile d'avoir la signature de la procédure qui pose problème, ainsi que le code que vous utilisez pour appeler cette procédure. Un petit exemple simple devrait suffire à éclaircir le problème sans révéler quoi que ce soit de privé. –