Oracle ใช้ชนิด BLOB เก็บรูปภาพ ตารางตัวอย่าง:
Name Null? Type ----------------------------------------- -------- ---------------------------- NAME VARCHAR2(255) IMAGE BLOB
ขั้นตอนคล้าย MySQL แตะ URL แตกต่าง:
ขั้นตอน 1: เชื่อมต่อ
String oracleUrl = "jdbc:oracle:thin:@localhost:1521/xe"; Connection con = DriverManager.getConnection(oracleUrl, "user_name", "password");
ขั้นตอน 2: สร้าง PreparedStatement
PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");
ขั้นตอน 3: ตั้งค่า placeholder
pstmt.setString(1, "sample image");
InputStream in = new FileInputStream("E:\\images\\cat.jpg");
pstmt.setBlob(2, in);
ขั้นตอน 4: รันคำสั่ง
pstmt.execute();
ตัวอย่างโปรแกรม
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertImageToOracleDB {
public static void main(String args[]) throws Exception{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String oracleUrl = "jdbc:oracle:thin:@localhost:1521/xe";
Connection con = DriverManager.getConnection(oracleUrl, "system", "password");
System.out.println("Connected to Oracle database.....");
PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?,?)");
pstmt.setString(1, "sample image");
InputStream in = new FileInputStream("E:\\images\\cat.jpg");
pstmt.setBlob(2, in);
pstmt.execute();
System.out.println("Record inserted");
}
}
ผลลัพธ์
Connected to Oracle database..... Record inserted.....