Appelez Oracle procédure stockée avec un paramètre de sortie
Je travaille avec SSIS 2008 et je rencontre un problème à l'appel d'une procédure stockée Oracle qui a un paramètre de sortie.
J'ai appeler la procédure stockée dans SqlPlus comme ceci:
var vresult number;
exec my_stored_procedure(:vresult);
print vresult;
Les instructions de travail et je reçois la sortie j'ai besoin. Je suis en train de faire quelque chose de semblable dans SSIS, mais j'ai besoin de faire cela à plusieurs reprises, peut-être dans un ForEach ou un script pour mettre à jour un résultat temporaire définir avec le résultat de l'appel de la procédure stockée (la procédure stockée génère un certain nombre, et je dois ajouter que le numéro de chaque ligne dans un jeu de résultats qui tient juste quelques informations d'état).
J'ai essayé beaucoup de différentes approches et toujours jusqu'à la fin avec 'instruction non valide" ou erreurs similaires.
J'ai aussi essayé l'une des approches suivantes:
Le nœud du problème semble être la procédure stockée du paramètre de sortie.
J'ai essayé d'utiliser l'Oracle Fournisseur pour OLE DB. Des idées?
Oui j'ai réglé le paramètre direction de la sortie et ont vérifié qu'environ un millier de fois 🙂
OriginalL'auteur Erik Westermann | 2011-05-10
Vous devez vous connecter pour publier un commentaire.
Si vous essayez d'appeler La Procédure stockée Oracle PLSQL ce Lien est très brève.
http://plsql-tutorial.com/plsql-passing-parameters-procedure-function.htm
Si vous travaillez en Java, alors. La Déclaration De L'Objet
java.sql.CallableStatement ps;
ps.registerOutParameter(parameterIndex, sqlType);
De la même façon .Net ou Toute Autre Plate-forme auront les mêmes Convictions. L'espère.:)
OriginalL'auteur Ahsan
J'ai trouvé une solution qui fonctionne:
Donc un script qui met en œuvre ce qui pourrait ressembler à quelque chose comme ceci:
Coller ce script dans une tâche d'Exécution SQL, définissez les propriétés de la tâche et ça marche!!!
Je suis nouveau sur Oracle mais il semble que l' :1 notation est une place de titulaire pour la variable. Vous pouvez le tester à l'aide de sqlplus trop juste enregistrer le code dans un fichier et commencer à sqlplus à l'aide de @ option sur la ligne de commande.
Le seul problème: je ne peux pas obtenir la valeur de la variable pour une utilisation dans SSIS, mais c'est un autre problème.
OriginalL'auteur Erik Westermann
vérifier tis poste: Exécuter un package Oracle à partir de SQL Server Integration Services
http://www.mssqltips.com/sqlservertip/2724/run-an-oracle-package-from-sql-server-integration-services/
ce qui concerne
OriginalL'auteur Jason Marshall
Vous y êtes presque. Afin de récupérer la valeur du paramètre de sortie de la procédure stockée Oracle dans SSIS, voici ce qui a fonctionné pour moi
Dans la tâche d'Exécution SQL, collez ceci dans l'instruction SQL de la boîte de
Dans le Mappage de paramètres, assurez-vous de votre carte SSIS variable à cette sortie de votre procédure stockée par la définition de l'orientation de "Sortie" et le nom du paramètre en tant que "0" (si c'est le premier paramètre)
PS: s'assurer de l'Oracle de sortie variable de types de données correspondent à vos variables SSIS
Merci
Mezue
OriginalL'auteur Mezu Obi