iteye_3558 2012-09-13 18:26
浏览 237
已采纳

jdk为1.4时如何向db2中保存文件

遇到一个棘手的问题,需要通过java代码向db2保存一个文件,文件不大,几十K吧,由于一些历史原因,jdk只能用1.4的,当我用下面这段代码尝试保存文件时

[code="java"]public void saveFileToDB2() {
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
//url,user,pwd这三项是我故意写的伪代码
Connection connection = DriverManager.getConnection("url","user","pwd");
String sql2 = "insert into save_file (jobid,jobcreationdate,inputfile) values (?,?,?)";
PreparedStatement ps = connection.prepareStatement(sql2);
ps.setInt(1, 1);
ps.setString(2, "20120913");
FileInputStream fis = new FileInputStream(new File("C:\inputfile.xml"));
ps.setBinaryStream(3, fis, fis.available());
int ok = ps.executeUpdate();
if(ok > 0) {
System.out.println("Insert OK");
} else {
System.out.println("Insert Fail");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}[/code]

出现了下面的错误,
[code="java"]com.ibm.db2.jcc.b.lm: DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;ADMINISTRATOR.save_file, DRIVER=3.50.152[/code]

查了一下,这是因为有一个参数类型不正确引起的,想必就是第三个参数啦。
在数据库中,三个字段的类型分别为
Integer,Character,Blob

哪位朋友帮忙看看啊。

PS:如果这个问题和JDK版本无关,请指出,如果有其它方法实现相同功能,也请指出。

  • 写回答

3条回答 默认 最新

  • jinnianshilongnian 2012-09-13 18:38
    关注

    按照那个错误 可以查到 是主键重复的问题 ps.setInt(1, 1); 你试试换个主键

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧