Passage des paramétres à une fonction stoquée en java
Bonsoir,
En fait j'ai eu une erreur lors de passage des paramètres en entrées dans une fonction stockée sur SGBD oracle:
voilà le code java:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
String requete="SELECT * FROM TABLE(cast(F_NSCF_ASS_TP(?,?,?,?,?,?)) as TAB_NSCF_TP_ASS) )";
ps=conn.getConnexion().prepareStatement(requete);
ps.setString(1, imma);
ps.setNull(2, java.sql.Types.VARCHAR);
ps.setNull(3, java.sql.Types.VARCHAR);
ps.setNull(4, java.sql.Types.VARCHAR);
ps.setNull(5, java.sql.Types.NUMERIC);
ps.setNull(6, java.sql.Types.NUMERIC);
rs=ps.executeQuery(); |
j'ai eu comme erreur:
Code:
1 2 3
|
[GetAfPai-RecuAfNscf] - [Erreur] - Erreur de la requete!
[GetAfPai-RecuAfNscf] - [Message] - ORA-00905: Mot-clé absent |
Merci pour votre votre aide :)
[Qui tente rien n'a rien ]
Probléme de passage des paramétres à une fonction stokcé en java
Bonjour,
Merci pour vos réponses,la base de données c'est oracle.
En fait le problème viens du fait que le type de retour définis après le as n'était pas dans son emplacement correcte.
Voilà le code rectifié et ça a marché ;) :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
String requete="SELECT * FROM TABLE(cast(F_NSCF_ASS_TP(?,?,?,?,?,?) as TAB_NSCF_TP_ASS))";// where P_T_C_NUMERO <> 0"
// +"and P_TYPE ='OP'";
//String requete="select * from d_immatricule where imm_v_num_imm=?";
ps=conn.getConnexion().prepareStatement(requete);
ps.setString(1, imma);
ps.setNull(2, java.sql.Types.VARCHAR);
ps.setNull(3, java.sql.Types.VARCHAR);
ps.setNull(4, java.sql.Types.VARCHAR);
ps.setNull(5, java.sql.Types.NUMERIC);
ps.setNull(6, java.sql.Types.NUMERIC); |
Merci
Bonne journée