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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)