Я написал Java-программу, в которую я могу вставлять изображения в мой BLOB-объект базы данных Oracle.Он отлично работает в других системах, но не работает в моей системе, когда я хочу вставить изображение размером более 2 КБ.Но из моей системы я могу получить изображения любого размера.Это же приложение хорошо работает в другой системе, но работает ненормально, и иногда я не могу прочитать из исключения сокета, когда я пытаюсь вставить изображение размером более 2 КБ.Пожалуйста, помогите.
Я использую драйвер typ4.
Ниже приведена структура моей таблицы: *
Name Null? Type
----------------------------------------------------- -------- ----------------------
NAME NOT NULL VARCHAR2(20)
DESCRIPTION NOT NULL VARCHAR2(20)
IMAGE NOT NULL BLOB
Ниже приводится моя Java-программа для вставки изображения.Опять же, он работает на других системах в той же сети, которые подключены к тому же серверу Oracle.Но из-за проблемы с системой, когда я пытаюсь загрузить изображение размером более 2 КБ.
package com.smruti.image;
import java.io.File;
import java.io.FileInputStream;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.*;
public class InsertImage {
private static String url = "jdbc:oracle:thin:@server3:1521:server3";
private static String username = "system";
private static String password = "manager";
public static void main(String[] args) throws Exception {
Connection conn = null;
InputStream fis = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, username, password);
conn.setAutoCommit(false);
String sql = "INSERT INTO pictures VALUES (?, ?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, "scare.jpg");
stmt.setString(2, "scare image");
File image = new File("C:\\images.jpeg");
fis = new FileInputStream(image);
int ilen=(int) image.length();
System.out.println(ilen);
System.out.println(fis);
stmt.setBinaryStream(3, fis, ilen);
stmt.execute();
System.out.println("this is upto b4 commit");
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
fis.close();
}
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
}
}