今天在测试向SQL Server数据库中写入image数据时,
出错异常:
Exception in thread "main" java.lang.AbstractMethodError:com.microsoft.jdbc.base.BasePreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
出错代码是:
stat.setBinaryStream(4,in,file.length());//这里stat为java.sql.PreparedStatement;in为java.io.FileInputStream;file为java.io.File
查寻发现:java.lang.AbstractMethodError错误为: 当应用程序试图调用一个抽象方法时,抛出此错误。
也就是说文件接口PreparedStatement中的setBinaryStream(int,InputStream,long)方法在JDBC for Sql Server 2000中没有实现,
无意之中,把file.length()改为了(int)file.length()竟然发现成功,表示方法setBinaryStream(int,InputStream,int)有实现.
今天在网上找了下上面的问题,居然大家都用一种模式写了N篇帖子,
而且在SQL Server 2000下测试没一通过,下面有人跟贴说成功,谢谢...
不知道是自己JDBC驱动有问题呢,还是大家都真的运行成功了.
出错异常:
Exception in thread "main" java.lang.AbstractMethodError:com.microsoft.jdbc.base.BasePreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
出错代码是:
stat.setBinaryStream(4,in,file.length());//这里stat为java.sql.PreparedStatement;in为java.io.FileInputStream;file为java.io.File
查寻发现:java.lang.AbstractMethodError错误为: 当应用程序试图调用一个抽象方法时,抛出此错误。
也就是说文件接口PreparedStatement中的setBinaryStream(int,InputStream,long)方法在JDBC for Sql Server 2000中没有实现,
无意之中,把file.length()改为了(int)file.length()竟然发现成功,表示方法setBinaryStream(int,InputStream,int)有实现.
今天在网上找了下上面的问题,居然大家都用一种模式写了N篇帖子,
而且在SQL Server 2000下测试没一通过,下面有人跟贴说成功,谢谢...
不知道是自己JDBC驱动有问题呢,还是大家都真的运行成功了.