当前位置: 代码迷 >> Eclipse >> Exception in thread "main" java.lang.AbstractMethodError: com.microsoft.sqlserve,该怎么解决
  详细解决方案

Exception in thread "main" java.lang.AbstractMethodError: com.microsoft.sqlserve,该怎么解决

热度:112   发布时间:2016-04-23 13:54:50.0
Exception in thread "main" java.lang.AbstractMethodError: com.microsoft.sqlserve
向sql server2005数据库中写入图片时出错 求各位大侠给个解释
错误为:
Exception in thread "main" java.lang.AbstractMethodError: com.microsoft.sqlserver.jdbc.SQLServerConnection.createBlob()Ljava/sql/Blob;
at day5_23.InputImage.main(InputImage.java:24)
import java.sql.SQLException;

import javax.imageio.ImageIO;
程序代码如下:
public class InputImage {
public static void main(String[] args) throws ClassNotFoundException, SQLException, MalformedURLException, IOException{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String urlName="jdbc:sqlserver://localhost:1433; DatabaseName=coreJava";
String name="sang";
String password="123456";
Connection conn=DriverManager.getConnection(urlName,name,password);
Blob coverBlob=conn.createBlob();
int offest=0;
Image coverImage=ImageIO.read(new URL("http://list.image.baidu.com/t/image_category/galleryimg/funny/funnything/gao_gfs.jpg"));
OutputStream out=coverBlob.setBinaryStream(offest);
ImageIO.write((RenderedImage) coverImage, "JPG", out);
PreparedStatement stat=conn.prepareStatement("INSERT INTO Cover VALUES(?,?)");
stat.setString(1,"023");
stat.setBlob(2, coverBlob);
}
}

------解决方案--------------------
你用的jdbc驱动不支持createBlob方法,你可以尝试直接使用setBinarayStream方法等。或者换jdts驱动试试
------解决方案--------------------
就是
stat.setBinaryStream(2, ((HttpURLConnection)new URL(...).openConnection()).getInputStream());
大致这样
  相关解决方案