2
我想保存圖像在SQL服務器數據庫使用過程。我有一個PROCEDURE名稱與輸入參數,但我沒有過程語法。圖像存儲在SQL服務器數據庫使用java
BufferedImage imm = ImageIO.read(new File("C:\\MY DATA\\Release 2\\18.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(imm, "jpg", baos);
baos.flush();
byte[] immAsBytes = baos.toByteArray();
baos.close();
con.setAutoCommit(true);
CallableStatement statement = con.prepareCall(query);
ByteArrayInputStream baisForIndex2 = new ByteArrayInputStream(immAsBytes);
ByteArrayInputStream baisForIndex3 = new ByteArrayInputStream(immAsBytes);
statement.setDate(1, sqlDate);
statement.setBinaryStream(2, baisForIndex2, immAsBytes.length);
statement.setBinaryStream(3, baisForIndex3, immAsBytes.length);
statement.executeUpdate();
錯誤信息:操作數類型衝突:nvarchar與圖像不兼容。 SQLSTATE:S0002 錯誤代碼:206 錯誤代碼:0
我要的是與圖像類型的SQL服務器的數據庫兼容Java類型。
謝謝你,這個工作。但我仍然面臨 - 「錯誤消息:操作數類型衝突:nvarchar與圖像SQLSTATE不兼容:S0002錯誤代碼:206錯誤代碼:0」問題。 – 2014-09-13 10:19:21
是基礎表nvarchar而不是varbinary中的列數據類型?如果是這樣,該列需要更改爲varbinary。 – 2014-09-13 10:43:10
只有我有訪問數據庫,我無法看到數據庫結構。 在這個DB coloumn類型是IMAGE.So什麼是IMAGE在Java代碼中的兼容類型。 – 2014-09-16 05:58:25