gpt4 book ai didi

java.lang.AbstractMethodError : oracle. jdbc.driver.OraclePreparedStatementWrapper.setBinaryStream

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:09 28 4
gpt4 key购买 nike

我正在尝试坚持 InputStream在 Oracle 数据库中表示图像如下:

    Connection conn = null; 
String message = null;

try {
// connects to the database
Class.forName("oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","great123");

String sql = "INSERT INTO contacts (first_name, last_name, photo) values (?, ?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, firstName);
statement.setString(2, lastName);

if (inputStream != null) {
column
statement.setBlob(3, inputStream);
}


int row = statement.executeUpdate();
if (row > 0) {
message = "File uploaded and saved into database";
}
} finally {
if (conn != null) {
// closes the database connection
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}

但是,它会引发以下异常:

console output: Servlet.service() for servlet [com.sandy.FileUploadDBServlet] in context with path [/TestAgent] threw exception [Servlet execution threw an exception] with root cause java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatementWrapper.setBinaryStream(ILjava/io/InputStream;)

我已经尝试过statement.setBlob(3, inputStream);以及 statement.setBinary(3, inputStream); ,但不行。

最佳答案

当您使用jdbc时,如果您使用的jdbc驱动程序实现的jdbc api版本比您的JRE中包含的版本旧,则可能会发生这种错误。您可以检查这些版本。

我不是 jdbc 专家,但我想我之前读过这个问题。

祝你好运。

关于java.lang.AbstractMethodError : oracle. jdbc.driver.OraclePreparedStatementWrapper.setBinaryStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31499608/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com