Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

Java 프로그램을 사용하여 Oracle 데이터베이스에 이미지를 삽입하는 방법은 무엇입니까?

<시간/>

Oracle 데이터베이스에 이미지를 보관하려면 일반적으로 blob 유형이 사용됩니다. 따라서 다음과 같은 blob 데이터 유형으로 테이블을 생성했는지 확인하십시오.

이름이 Null입니까? 유형----------------------------------------- -------- ----------------------------이름 VARCHAR2(255) 이미지 BLOB

Oracle에 이미지를 삽입하려면 데이터베이스에서 다음 단계를 따르십시오.

1단계:데이터베이스에 연결

getConnection()을 사용하여 데이터베이스에 연결할 수 있습니다. DriverManager 메서드 수업

jdbc:oracle:thin:@localhost:1521/xe인 Oracle URL을 전달하여 Oracle 데이터베이스에 연결합니다. (익스프레스 에디션의 경우), 사용자 이름 및 비밀번호를 getConnection() 메소드에 대한 매개변수로 사용합니다.

문자열 oracleUrl ="jdbc:oracle:thin:@localhost:1521/xe";연결 con =DriverManager.getConnection(oracleUrl, "user_name", "password");

2단계:준비된 진술 작성

prepareStatement()를 사용하여 PreparedStatement 객체 생성 연결 방법 상호 작용. 이 메서드에 매개변수로 삽입 쿼리(자리 표시자 포함)를 전달합니다.

PreparedStatement pstmt =con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");

3단계:자리 표시자에 값 설정

PreparedStatement의 setter 메서드를 사용하여 자리 표시자에 값을 설정합니다. 상호 작용. 컬럼의 데이터 유형에 따라 메소드를 선택하십시오. 예를 들어 열이 VARCHAR 유형이면 setString() 메소드를 사용하고 INT 유형이면 setInt() 메소드를 사용할 수 있습니다.

그리고 Blob 유형인 경우 setBinaryStream() 또는 setBlob() 메서드를 사용하여 값을 설정할 수 있습니다. 이 메소드에 매개변수 인덱스를 나타내는 정수 변수와 InputStream 클래스의 객체를 매개변수로 전달합니다.

pstmt.setString(1, "샘플 이미지");//Blob typeInputStream 삽입 =new FileInputStream("E:\\images\\cat.jpg");pstmt.setBlob(2, in); 

4단계:명령문 실행

execute()를 사용하여 위에서 생성한 PreparedStatement 객체를 실행합니다. PreparedStatement 메소드 인터페이스.

예시

java.io.FileInputStream 가져오기; java.io.InputStream 가져오기; java.sql.Connection 가져오기; java.sql.DriverManager 가져오기; java.sql.PreparedStatement 가져오기; public class InsertImageToOracleDB { public static void main(String args[ ]) throws Exception{ //드라이버 등록 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //연결 문자열 가져오기 oracleUrl ="jdbc:oracle:thin:@localhost:1521/xe"; 연결 con =DriverManager.getConnection(oracleUrl, "시스템", "비밀번호"); System.out.println("오라클 데이터베이스에 연결되었습니다....."); PreparedStatement pstmt =con.prepareStatement("INSERT INTO MyTable VALUES(?,?)"); pstmt.setString(1, "샘플 이미지"); // Blob 유형 InputStream 삽입 =new FileInputStream("E:\\images\\cat.jpg"); pstmt.setBlob(2, 입력); //문 실행 pstmt.execute(); System.out.println("레코드 삽입"); }}

출력

오라클 데이터베이스에 연결.....레코드 삽입.....