【发布时间】:2013-07-15 02:49:11
【问题描述】:
运行存储过程时出现以下异常:
com.microsoft.sqlserver.jdbc.SQLServerException:不支持从 UNKNOWN 到 UNKNOWN 的转换。
过程定义如下:
CREATE PROCEDURE spTest (
@p1 varchar(1024) ,
@p2 varchar(1024) ,
@p3 char(1) ,
@p4 varchar(254),
@p5 varchar(254),
@debug bit )
我在 Java 中的参数是这样定义的:
Object[] 参数 = {"1,2,3", "d", '2', "", "", 1};
我认为这是由角色造成的。任何想法为什么?
【问题讨论】:
-
尝试使用
String"2",因为'char'实际上仍然是字符串数据(毕竟它可以有多个长度)。否则,我怀疑“位”,因为 Java 并没有真正的等效类型...... -
是的,这是导致悲伤的 char 类型。转换成字符串就可以了。
-
在处理 Java 枚举时发现了这个问题 - 在添加到 param 数组时显式转换 toString() 解决了我的问题。
标签: java sql sql-server jdbc