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
운영게시판
최근게시물
Oracle Q&A 2684 게시물 읽기
No. 2684
PHP4, Oracle8 에서 LOB (BLOB) 사용하기.
작성자
이종호
작성일
2001-01-18 16:19
조회수
4,773

PHP와 Oracle8에서 varchar2는 4000bytes까지만 됩니다. 그럴 경우 더 큰 타입은?

long, lob 등이 있는데 oracle8에서는 long보다 lob를 권장합니다.

long은 oracle7과의 호환을 위해 있는 타입이라는 설명이 있습니다.

 

아무튼 그 lob 중에서도 blob를 이용하면 4000bytes가 넘는 내용을

입출력할 수 있습니다.

clob는 언어의 문제로 설정이 복잡하지만 blob는 그냥 됩니다.

아무튼 다음은 간단한 test용 code입니다.

 

참고로 http://oops.org/ 에 MINI LECTURE를 보면 php에서 lob 타입을 쓰는 강좌가

있는데.... 거기에서는 select 시에 load()를 사용했는데... 제가 만든 예제에서는

load()를 하지 않습니다. 왜 그런지는 직접 연구해보세요. -0-

 

그리고 $text는 4000bytes 이상 늘려서 해보세요. 게시판이라 잘랐습니다.

 

<?

# create table test (title varchar2(100), text blob);

 

echo "title: ".$title = time ();

$text =

"

한글도 입력하여 테스트합니다. synec!

ASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57kASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57ktyg'45y09i8ui24-tgi;340re8oiguos.2058ryuikjh23rw#YHRF%WU^TRHGF$%YERFDB^*I&U%^%ERASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57ktyg'45y09i8ui24-tgi;340re8oiguos.2058ryuikjh23rw#YHRF%WU^TRHGF$%YERFDB^*I&U%^%ERASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57ktyg'45y09i8ui24-tgi;340re8oiguos.2058ryuikjh23rw#YHRF%WU^TRHGF$%YERFDB^*I&U%^%ER

80.!@#$%^&*()_+|1234567890-=\[];'./,{}:"<>?ASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57kASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57ktyg'45y09i8ui24-tgi;340re8oiguos.2058ryuikjh23rw#YHRF%WU^TRHGF$%YERFDB^*I&U%^%ERASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57ktyg'45y09i8ui24-tgi;340re8oiguos.2058ryuikjh23rw#YHRF%WU^TRHGF$%YERFDB^*I&U%^%ERASDLJKAK14323tgfdh554tgFYdjh36tfw6t54rth5edyj57ktyg'45y09i8ui24-tgi;340re8oiguos.2058ryuikjh23rw#YHRF%WU^TRHGF$%YERFDB^*I&U%^%ER

";

 

# LOGIN

echo "<hr>login: ".$conn = OCILogon (USER, PASSWORD, SID);

 

# INSERT

echo "<hr>sql: ".$sql = "INSERT INTO test VALUES ('$title', EMPTY_BLOB()) RETURNING text INTO :text";

echo "<hr>parse: ".$stmt = OCIParse ($conn, $sql);

 

echo "<hr>new_desc: ".$blob = OCINewDescriptor ($conn, OCI_D_LOB);

echo "<hr>bind: ".OCIBindByName ($stmt, ":text", &$blob, -1, OCI_B_BLOB);

 

echo "<hr>exec: ".OCIExecute ($stmt, OCI_DEFAULT);

 

echo "<hr>save: ".$blob->save($text);

echo "<hr>free: ".$blob->free();

echo "<hr>commit: ".OCICommit ($conn);

echo "<hr>free_state: ".OCIFreeStatement($stmt);

 

# SELECT

echo "<hr>sql: ".$sql = "SELECT title, text FROM test";

echo "<hr>parse: ".$stmt = OCIParse ($conn, $sql);

 

echo "<hr>exec: ".OCIExecute ($stmt, OCI_DEFAULT);

echo "<hr>row: ".$row = OCIFetchStatement ($stmt, $result);

echo "<hr>free_state: ".OCIFreeStatement($stmt);

 

# LOGOUT

echo "<hr>logout: ".OCILogOff($conn);

 

# PRINT

echo "<p><hr>result_title: ".$result[TITLE][$row-1];

echo "<br>text size: ".strlen ($result[TEXT][$row-1]);

echo "<br>result_text: ".$result[TEXT][$row-1];

?>

[Top]
No.
제목
작성자
작성일
조회
2696libskgxp8.so 오류
장기수
2001-01-19
2097
2691oracle8.0.5 + linux6.1 + java1.2.2 jdbc접속문제
pyromania
2001-01-18
2600
2688오라클 교재에 대해서...
x-man
2001-01-18
2116
2694┕>Re: 오라클 교재에 대해서...
박주현
2001-01-18 23:43:41
2398
2684PHP4, Oracle8 에서 LOB (BLOB) 사용하기.
이종호
2001-01-18
4773
2683플랫폼에 따른 오라클의 성능과 장단점을 자세히 알고 싶습니다.ㅠㅠ
오라꿀
2001-01-18
2459
2687┕>Re: 플랫폼에 따른 오라클의 성능과 장단점을 자세히 알고 싶습니다.ㅠㅠ
매니아
2001-01-18 17:21:04
2607
2697┕>Re: 플랫폼에 따른 오라클의 성능과 장단점을 자세히 알고 싶습니다.ㅠㅠ
우성곤
2001-01-19 12:02:14
2752
2699┕>Re: 플랫폼에 따른 오라클의 성능과 장단점을 자세히 알고 싶습니다.ㅠㅠ
오라꿀
2001-01-19 16:48:44
2467
2682[질문]오라클 리눅스용과 윈도우용은 어떻게 다른지...
이진희
2001-01-18
1934
2695┕>Re: [질문]오라클 리눅스용과 윈도우용은 어떻게 다른지...
박주현
2001-01-18 23:51:23
2628
2681[질문]오라클의 종류에 대해서...
이진희
2001-01-18
2277
2686┕>Re: [질문]오라클의 종류에 대해서...
매니아
2001-01-18 17:10:52
2711
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다