Bonjour,
Sous MS SQLServer, je fais appelle une procédure qui accède à un serveur distant (NomServ)
Cela marche très bien car j'ai vérifié que les 2 serveurs liés communiquent bien entre eux en appliquant les recommandations de Microsoft (https://msdn.microsoft.com/fr-fr/lib....aspx#Anchor_5)
Ci-dessous l'appel à la procédure stockée
où Param2 et Param3 sont valorisés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 declare @P0 INTEGER EXEC pack_NomProcedure @P0 OUT,Param2, Param3
Côté JAVA :
Quand j'essaie d'appeler la même procédure stockée, j'ai le message suivant :
[quote"]com.microsoft.sqlserver.jdbc.SQLServerException, message = Le fournisseur OLE DB "SQLNCLI11" du serveur lié "NomServ" a rapporté une erreur. Échec de l'authentification.[/quote]
Ci-dessous, l'appel à la procédure stockée
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DBTransaction trans = (DBTransaction)appModule.getTransaction(); CallableStatement callStmt = null; callStmt = trans.createCallableStatement( "EXEC pack_NomProcedure ?,?,?", DBTransaction.DEFAULT ); callStmt.registerOutParameter( 1, Types.INTEGER ); callStmt.setInt( 2, Param2 ); callStmt.setString( 3, Param3 ); callStmt.execute();
Partager