Je rencontre des problèmes avec les procédures stockées qui contiennent beaucoup d'instructions d'insertion lors de l'utilisation du pilote jdbc de Sybase. Après 50 à 60 insertions, la procédure stockée arrête l'exécution et revient. Voir le code ci-dessous. J'utilise Sybase Anywhere 10 et jconn2.jar, mais j'ai aussi essayé jconn3.jar.Limite d'insertion de procédure stockée Sybase avec le pilote JDBC
code java:
String sp = "sp_test";
Statement stmt = con.createStatement();
stmt.execute(sp);
stmt.close();
procédure stockée:
create procedure dba.sp_test()
as
begin
declare @lnCount integer
select @lnCount = 1
while (@lnCount <= 1000)
begin
insert into tableTest (pk) values (@lnCount)
select @lnCount = @lnCount + 1
end
end
Après 58 insertions les retours de procédure. Effectuer un comptage select (*) à partir de tableTest renvoie ensuite un nombre de 58. Aucune exception SQLException n'est levée. J'ai essayé de mettre une transaction begin/commit autour de l'insert, mais cela n'a pas fait de différence. J'ai aussi essayé le pilote jodbc et ça marche bien, mais je ne suis pas capable d'utiliser ça comme une solution parce que j'ai eu d'autres problèmes avec ça.
Je ne peux pas vérifier moi-même, mais essayez de mettre "set nocount on" dans l'entête de proc. – kolchanov