1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : juin 2017
    Messages : 2
    Points : 3
    Points
    3

    Par défaut Procédure stockée et tableau

    Bonjour,
    je recherche de l'aide concernant un problème rencontré régulièrement sur les différents forum Talend mais pour lequel je n'arrive pas à trouver de solution.
    J'ai une procédure stockée Oracle qui prend en paramètre IN un objet de type tableau de varchar2 :
    TYPE mon_tab IS array(1000000) of varchar2(1000)
    procedure ma_proc(i_data IN mon_tab, o_msg out varchar2)

    Je voudrais appeler cette procédure depuis un job Talend.
    J'ai une première partie de traitement qui transforme un flux d'entrée en tableau de String[] (dans le TJavaFlex).
    Puis j'envoie ce tableau dans un t_oracleSP avec comme paramètre IN le tableau de String.
    Nom : general.JPG
Affichages : 21
Taille : 24,7 KoNom : javaFlex.JPG
Affichages : 21
Taille : 65,9 KoNom : fixedInput.JPG
Affichages : 20
Taille : 74,6 KoNom : oracleSP.JPG
Affichages : 22
Taille : 56,9 Ko

    Lorsque j'exécute mon job, le tableau est bien créé mais lors de l'envoi à la procédure j'ai une erreur :
    Exception in component tOracleSP_1
    java.sql.SQLException: Type de colonne non valide
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7937)
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7517)
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8174)
    at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:4094)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:230)
    at extractions.mon_job_0_1.mon_job.tFixedFlowInput_1Process(mon_job.java:1716)
    at extractions.mon_job_0_1.mon_job.tFileInputExcel_1Process(mon_job.java:1153)
    at extractions.mon_job_0_1.mon_job.tOracleConnection_1Process(mon_job.java:2029)
    at extractions.mon_job_0_1.mon_job.runJobInTOS(mon_job.java:2253)
    at extractions.mon_job_0_1.mon_job.main(mon_job.java:2083)


    Si quelqu'un a une idée de comment résoudre ce problème, je suis preneur ... Je sèche complètement....

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2010
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2010
    Messages : 513
    Points : 1 014
    Points
    1 014

    Par défaut

    C'est chaud ce que tu veux faire.

    Regarde ça https://stackoverflow.com/a/38737870

    Ta connexion tu dois pouvoir la récupérer depuis la globalMap.
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : juin 2017
    Messages : 2
    Points : 3
    Points
    3

    Par défaut

    Merci pour le lien je vais jeté un oeil.
    En attendant j'avais bidouillé un truc avec un CLOB mais si je peux faire plus propre avec ça ce serait cool.
    Je passe en résolu car de toute façon je n'aurai pas le temps de faire plus de recherche après.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. procédures stockées et tableau
    Par deborah95 dans le forum MySQL
    Réponses: 1
    Dernier message: 11/06/2009, 09h46
  2. Procédure stocké, un tableau de int en paramètre
    Par Oberown dans le forum MS SQL-Server
    Réponses: 3
    Dernier message: 21/06/2006, 10h44
  3. Réponses: 6
    Dernier message: 18/05/2005, 14h04
  4. Réponses: 7
    Dernier message: 14/02/2005, 10h40
  5. Passer un tableau à une procédure stockée
    Par biroule dans le forum MS SQL-Server
    Réponses: 3
    Dernier message: 10/09/2004, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo