From bbc39f93860f897bd60ea46fb8b337515312686e Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 15 Apr 2024 11:51:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3oracle=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8BsetObject(inputStream)=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8Cjava.sql.SQLException:=20=E6=97=A0=E6=95=88?= =?UTF-8?q?=E7=9A=84=E5=88=97=E7=B1=BB=E5=9E=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/db/sql/StatementWrapper.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/sql/StatementWrapper.java b/hutool-db/src/main/java/org/dromara/hutool/db/sql/StatementWrapper.java index 32869a84d..c6a899f48 100644 --- a/hutool-db/src/main/java/org/dromara/hutool/db/sql/StatementWrapper.java +++ b/hutool-db/src/main/java/org/dromara/hutool/db/sql/StatementWrapper.java @@ -696,6 +696,18 @@ public class StatementWrapper extends SimpleWrapper implement // 忽略其它数字类型,按照默认类型传入 } + //Oracle中stream和Blob不能直接通过setObject转换,单独处理 + //InputStream,解决oracle情况下setObject(inputStream)报错问题,java.sql.SQLException: 无效的列类型 + if(param instanceof InputStream){ + this.raw.setBinaryStream(paramIndex, (InputStream) param); + return; + } + + //java.sql.Blob + if(param instanceof Blob){ + this.raw.setBlob(paramIndex, (Blob) param); + } + // 其它参数类型 this.raw.setObject(paramIndex, param); }