0

我正在尝试将文件上传到 oracle 数据库,但出现此错误:

java.sql.SQLException: ORA-01460: 请求未实现或不合理的转换

这是我插入文件的代码:

b2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        try {
            Connection conn;
            FileInputStream fis = new FileInputStream(file);//From JFileChooser

            String url = "*******************";
            String u = "***********";
            String p = "**********";
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection(url, u, p);
            System.out.println("Ligação efectuada com sucesso");

            PreparedStatement pstmt = conn.prepareStatement(
                "insert into tableX(file, name) values ( ?, ?)");
            pstmt.setString(2, file.getName());
            pstmt.setBinaryStream(1, fis, (int) file.length());;
            pstmt.executeUpdate();
            JOptionPane.showMessageDialog(null, "Uploaded successfully to database");
            pstmt.close();
            conn.close();
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
});

文件来源来自JFileChooser

b1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        JFileChooser chooser = new JFileChooser();
        int returnVal = chooser.showOpenDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            file = chooser.getSelectedFile();
            text.setText(file.getPath());
        }
    }
});

这个错误是代码的问题还是来自的问题Oracle JDBC driver

4

0 回答 0