2

获得ORA-00913:太多的价值。不知道如何解决这个问题请任何人都可以帮助我吗?

con2 = DriverManager.getConnection("Jdbc:Oracle:thin:@localhost:1521:XE", "system",
                "oracle123");
        File image=new File("E:/Users/ganesh/Desktop/line.jpg");
        String sql="insert into blobtab values(?,?)";  
        pstmt=con2.prepareStatement(sql);
        pstmt.setString(1,"akshita");
        fis=new FileInputStream(image);
        pstmt.setBinaryStream(2,(InputStream)fis,(int)(image.length()));
        int s = pstmt.executeUpdate();
        if (s > 0) {
            System.out.println("Image Uploaded successfully !");
        } else {
            System.out.println("unsucessfull to upload image.");
        }
        con2.close();
        pstmt.close();
4

2 回答 2

3

这表明您的 blobtab 表中没有两列(或者如果表上有触发器,请检查在相同问题中递归触发的 DML)。

insert into blobtab values(?,?)

例如:

SQL> create table foo(id number);

Table created.

SQL> insert into foo values (1, 2);
insert into foo values (1, 2)
           *
ERROR at line 1:
ORA-00913: too many values

检查你的桌子。此外,您应该始终在插入时放置明确的列名(以防有人稍后添加默认或可为空的列。即总是这样做:

insert into blobtab (col1, col2) values(?,?)

col1 col2您的真实列名在哪里。

于 2013-01-30T17:19:04.187 回答
2

列数将小于传递的参数/参数

例如: insert into insert into foo(name , age) values (?,?,?)然后preparedStatment object insert

由于有2 列并且值有 3 个参数 ,因此 ORA-00913:值太多

于 2014-06-04T05:40:51.693 回答