La conversion de l'INCONNUE INCONNUE est pas pris en charge
- Je obtenir de l'exception suivante exécution d'une procédure stockée:
com.microsoft.sqlserver.jdbc.SQLServerException: La conversion de l'INCONNUE INCONNUE est pas pris en charge.
La procédure est définie comme ceci:
CREATE PROCEDURE spTest (
@p1 varchar(1024) ,
@p2 varchar(1024) ,
@p3 char(1) ,
@p4 varchar(254),
@p5 varchar(254),
@debug bit )
Mes paramètres en Java sont définies comme suit:
Object[] params = {"1,2,3", "d", '2', "", "", 1};
Je pense que c'est causé par le personnage. Des idées pourquoi?
Essayez d'utiliser un
Oui, c'est le char de type causer de chagrin. La conversion de Chaîne de caractères.
String
"2"
, comme 'char' est encore de la chaîne de données (il peut en avoir plusieurs longueurs, après tout). Sinon, je me méfie de "bit", que Java n'a pas vraiment un type équivalent...Oui, c'est le char de type causer de chagrin. La conversion de Chaîne de caractères.
OriginalL'auteur sproketboy | 2013-07-16
Vous devez vous connecter pour publier un commentaire.
Je l'ai trouvé. Clockwork-Muse m'a mis sur la voie. Le type char ne pas convertir un Objet lorsque vous définissez les paramètres. Suivantes:
String
. Vous seriez mieux de le convertir lorsque vous définissez les paramètres réels, qui va le rendre plus clair ce que vous faites. Aussi, si vous avez besoin de l'index, il suffit d'utiliser un traditionnel pour la boucle ne se mélangent pas comme ça.OriginalL'auteur sproketboy