J'ai un problème avec la procédure de magasin d'appel sur Oracle 11G Server.
Procédure stockée forte> p> C # code fort > p> ora-06550: ligne 1, colonne 7: Pls-00306: Nombre incorrect ou types de
Arguments en appel à 'get_rit_by_user_id' ora-06550: ligne 1, colonne 7:
Pl / SQL: déclaration ignorée p>
blockQuote> Qu'est-ce qui ne va pas avec le code ci-dessus qu'il obtient un cmd.executereader () code> jette cette exception: p>
un nombre incorrect de types d'arguments code> erreur? p> p>
5 Réponses :
Le problème le plus courant avec les paramètres d'entrée est donc: vérifier pour null code>. Si
kfckey code> ou
user_id code> est
null code> (soit une référence null, ou un
nullable
null code>, vous devez généralement passer
dbnull.value code> à la place.
null p> s. P>
bonne suggestion. J'ai vérifié que les valeurs ne sont pas nulles, mais l'erreur reste.
Pour confirmer l'hypothèse de Marc ci-dessus, ce correctif a fonctionné pour system.data.oracleclient.data.oracleclient.data.oracleclient.oracharamètre code> pour moi
Votre deuxième paramètre est un numéro http://docs.oracle.com/cd/b19306_01/win.102/b14307/oracledbtypeenumerationType.htm p> Vérifiez également la syntaxe de votre etc. P> est Le processus renvoyant un ensemble de résultats en plus du curseur em>? Si vous n'utilisez pas code>, pas un entier. Changer le deuxième type de paramètre sur
oracledbtype.decimal code>
Ajouter code> méthodes. Il peut être préférable de spécifier les propriétés de paramètres plus explicitement, même si cela rend le code un peu plus verbeux: p>
exécutenonquery code> au lieu de
exécuter code> p> p>
Qu'est-ce que type_cursor code>? Est-ce un alias pour le curseur REF?
Vérifiez votre orthographe de paramètre, il doit correspondre à la variable de la variable de la procédure de magasin, spécialement, si vous avez une variable de sortie. Je viens de passer quelques heures à dépanner un problème similaire, il s'est avéré que j'avais orthographié mon nom de paramètre de sortie. p>
Vous avez une sorte de type défini par l'utilisateur appelé "type_cursor" mais lie un paramètre SYS_Refcursor. C'est la cause de cette erreur. P>
J'avais parcouru un problème similaire et j'ai trouvé la cause racine idiote. Si votre problème est similaire, cela peut vous aider. P>
Dans notre cas, le message d'erreur exact est renvoyé à partir d'un appel de procédure d'un paquet. Après 10 heures, la validation du code Java, ses paramètres et le package arrière «Corps» et sa procédure, nous ne pouvions pas comprendre aucune différence. P>
Ensuite, nous avons remarqué que cet emballage a une procédure similaire avec un nombre différent de paramètres. Et la «prise» ici est que le colis n'était pas compilé avec la nouvelle méthode appelée depuis le début. Donc, ça va à l'ancienne procédure. P>
Veuillez vérifier si c'est la même chose avec votre cas. P>
La variable p_id_utente me manque dans la liste des paramètres (vous avez un p_user cependant). Les deux autres sont là.
Ce n'est pas le problème, j'ai vérifié tous les noms des paramètres
Avez-vous examiné cette question à la question: Stackoverflow.com/questions/6360244/...