java - 使用 BLOB 对象将图像插入 SQL 表时出现异常

标签 java swing io inputstream fileinputstream

我在以下代码中遇到异常

PreparedStatement pstmt;
Connection conn = DriverManager.getConnection(
   "jdbc:jtds:sqlserver://Irfan:1433/Pictures", "sa", "ent@");      

java.sql.Blob bl=GetBolbDataFromDB();
InputStream fs = bl.getBinaryStream();
len = bl.length() ;

query = ("insert into NewPics2 VALUES(?,?,?,?)");
pstmt = conn.prepareStatement(query);
pstmt.setString(1, model);
pstmt.setString(2, catid);
pstmt.setString(3, ornid);
**pstmt.setBinaryStream(4, fs);**

完整的堆栈跟踪如下

Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
at jewelleryerpapplication.GUI.Orders.CheckPrice.GetPicInfo(CheckPrice.java:1157)
at jewelleryerpapplication.GUI.Orders.CheckPrice.txtModelNoKeyPressed(CheckPrice.java:2300)
at jewelleryerpapplication.GUI.Orders.CheckPrice.access$1500(CheckPrice.java:37)
at jewelleryerpapplication.GUI.Orders.CheckPrice$18.keyPressed(CheckPrice.java:702)
at java.awt.Component.processKeyEvent(Component.java:6463)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2829)
at java.awt.Component.processEvent(Component.java:6282)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1908)

最佳答案

简单地说,您的 jdbc 驱动程序没有实现最新版本的 jdbc:它没有 setBinaryStream() 方法。这意味着您无法使用它。您可以尝试使用完全读取的图像 setBlob() 。

关于java - 使用 BLOB 对象将图像插入 SQL 表时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15000846/

相关文章:

java - 在 jTextArea 中打印 jRadioButtons

c++ - 如何将 cout 和 cin 放在同一行?

java - LibGDX 缩放 slider ,如何?

java - 并行排序比串行排序慢

java.lang.NoClassDefFoundError : org/hibernate/Session hibernate jars is set 错误

string - Haskell 中连接字符串和 IO 整数

arrays - 转到 : How to read the contents of two files and concatenate to a string

java - Scala/Java - 未在指定目录内创建文件

Java Event-Dispatching Thread解释

java - 从 NetBeans GUI Builder 在 JPanel 中显示图像