database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 3175 게시물 읽기
No. 3175
PostgresSQL과 JDBC를 이용하여 Large Object를 다루는 법
작성자
김일형
작성일
2001-07-20 06:25
조회수
2,841

안녕하세요, 김일형입니다.

 

얼마전부터 이 문제를 풀어봐야지 하고 생각을 딥따 많이 했었습니다. 생각만.... ^__^;;

 

처음에 실행을 할 때는 안됐었습니다. 그리고 얼마 후에 애기가 자는 틈을 타서 해봤는데 그때는 제대로 되는데 실제 데이터베이스 안에는 안들어가더군요.

 

그런데 오늘 회사 컴에 리눅스를 새로 깔로 다시 테스트를 해보니 되더군요.

 

아래의 코드는 제가 실행해 본 코드입니다.

 

CREATE TABLE testlob (

mid int,

filelob oid

);

 

import java.sql.*;

import java.io.*;

 

class testlob {

public static void main (String args[]) {

Connection connection = null;

 

File file;

FileInputStream fis;

 

try {

file = new File("large.zip");

fis = new FileInputStream(file);

} catch (Exception e) {e.printStackTrace(); return;}

 

try {

 

Class.forName ("org.postgresql.Driver");

connection = DriverManager.getConnection("jdbc:postgresql:test_ihkim", "ihkim", "");

System.out.println ("Connection successful!");

connection.setAutoCommit( false );

PreparedStatement ps = connection.prepareStatement("INSERT INTO testlob VALUES (?, ?)");

ps.setInt(1, 1002);

ps.setBinaryStream(2, fis, (int)file.length());

ps.executeUpdate();

connection.commit();

ps.close();

connection.close();

} catch (Exception e){

e.printStackTrace();

return;

}

}

}

 

이런 코드로 하니까 잘 insert가 되더군요.

 

지난번에 PostgreSQL 메일링 리스트에 가보니까 large object를 다루는 데에 이전 jdbc드라이버 버젼에 버그가 있었다는 군요. 오늘 jdbc 드라이버를 확인해보니 패키징된 날짜가 6월 13로 되어있었습니다. 디따 최근입니다. 아마 버그 팻치가 된 것이 업된 게 아닌가 하는데요... 아님 말구요...

 

어쨋든 잘 됩니다. 물론 꺼내 보지는 않았지만요... 테스트에 사용한 파일은 1.6MB짜리 파일이었습니다. 그런데 업하는데 10초는 걸리는 것 같던데요.... 속도는 좀 개선이 되어야하지 않을까 싶네요.

 

자 그럼 DB를 신나게 디벼보십시요.

 

김일형.

[Top]
No.
제목
작성자
작성일
조회
3184설치시 에러가...저좀살려주세요
임상범
2001-07-25
1957
3187┕>Re: 설치시 에러가...저좀살려주세요
정재익
2001-07-26 10:08:48
2090
3183아래 에러가 나는데요..왜그런지 도통..
정철희
2001-07-25
2266
3185┕>Re: 아래 에러가 나는데요..왜그런지 도통..
김일형
2001-07-25 23:34:26
2154
3186 ┕>Re: Re: 아래 에러가 나는데요..왜그런지 도통..
정재익
2001-07-26 00:28:26
2326
3189  ┕>Re: Re: Re: 아래 에러가 나는데요..왜그런지 도통..
정철희
2001-07-26 11:20:14
2629
3181히~~또왔네요..
사이버
2001-07-23
2183
3182┕>Re: 히~~또왔네요..
정재익
2001-07-23 18:50:51
2467
3175PostgresSQL과 JDBC를 이용하여 Large Object를 다루는 법
김일형
2001-07-20
2841
3171ODBC 설정
여운영
2001-07-19
2886
3177┕>Re: ODBC 설정
정재익
2001-07-21 00:21:16
3204
3167데몬이 제대로 안뜨네요. 도와주세요..
은서니
2001-07-19
3019
3169┕>Re: 데몬이 제대로 안뜨네요. 도와주세요..
정재익
2001-07-19 16:59:14
3179
3166postmaster에 대한 질문...
사이버
2001-07-19
2647
3168┕>Re: postmaster에 대한 질문...
정재익
2001-07-19 16:56:22
2897
3170 ┕>Re: Re: postmaster에 대한 질문...
사이버
2001-07-19 17:12:09
2974
3172  ┕>Re: Re: Re: postmaster에 대한 질문...
삐진앙마
2001-07-19 18:23:42
2780
3173   ┕>Re: Re: Re: Re: postmaster에 대한 질문...
사이버
2001-07-19 19:02:58
2889
3174    ┕>Re: Re: Re: Re: Re: postmaster에 대한 질문...
정재익
2001-07-19 19:16:12
2817
3180     ┕>Re: Re: Re: Re: Re: Re: postmaster에 대한 질문...
사이버
2001-07-23 09:22:18
2954
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다