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 176 게시물 읽기
No. 176
Re: [급] 제발부탁
작성자
조용일
작성일
2000-01-03 21:11
조회수
17,658

> 이런이런 오라클과 펄연동에 관한 설치자료가 있어으면 하고

> 순서가 어떻게 되는지 설명좀해주세요

 

> 1오라클설치와

> 2페치

> 3환경설치

> 4(oracle)계정

> 5 oratab

> 6 인스톨 시작

> 7 리스너

> 8...

> 9...

 

여기까지는 일반적인 설치에 대한 내용입니다.

잡지나 기타 매체에 많이 소개되어 있으므로

이에 대한 내용은 생략합니다.

 

> 10 dbi

> 11 dbd

> 12 perl연동테스트

 

제가 프세에 보냈던 자료를 인용합니다.

 

라. Perl의 DBI/DBD module 이용

 

그보다 더 편하고, 또 기존에 pgSQL이나 mySQL로 사용하던 code를 쉽게 Oracle로

적용할 수 있는 것이 DBI module을 이용한 방법이다.(단, perl로 작성하신 분만 해당. ^^;)

일단, CPAN site에서 가서 DBI와 DBD module을 가져오자. (필자가 사용한 version은

DBD-Oracle-0.54와, DBI-1.02 이다)

 

DBI를 compile하고, DBD를 compile한다.

(순서에 주의. 또, perl 5.004이후 version이 필요하다.

Alzza 5.1을 쓴다면, perl 5.004_04이다.)

 

su - -> root로 login, perl library directory(/usr/lib/perl5) permission때문임.

local에 설치한 경우는 불필요.

. /usr/local/bin/oraenv

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

 

mkdir src

cd src

tar zxf ../DBI-1.02.tar.gz

tar zxf ../DBD-Oracle-0.54.tar.gz

 

cd DBI-1.02/ -> DBI를 먼저 설치해야 한다.

perl Makefile.PL -> pRPC를 요구하는 데, 이는 proxy server를 사용할 경우 필요하다.

make

make test

make install

cp Driver.xst /usr/lib/perl5/site_perl/i386-linux/auto/DBI/ -> 왜 필요한지 모름 ?.?

 

cd ../DBD-Oracle-0.54/ -> DBD를 설치한다. 다른 DBMS용 DBD도 이런방법으로 설치한다.

perl Makefile.PL

make

make test

make install

 

이제 perl에서 oracle을 접속하기 위한 준비는 다 되었다.

앞의 Pro*C에서 한 것과 똑같은 일을 하는 perl script를 짜보자.

< 첨부 : test_dbi.pl >

 

#!/usr/bin/perl

use DBI;

 

# ORACLE에 접속한다.

my $userid = 'scott';

my $passwd = 'tiger';

my $dbh = DBI->connect('', $userid, $passwd, 'Oracle');

# 여기에 MySQL, pgSQL을 넣으면,

# 자연스럽게 MySQL이나 pgSQL용

# perl 프로그램이 된다!

unless($dbh) {

warn "Unable to connect to Oracle ($DBI::errstr)\n";

exit 0;

}

 

# Cursor를 선언한다.

$query =

"select TNAME, TABTYPE

from TAB";

 

my $sth = $dbh->prepare($query);

 

unless($sth) {

$dbh->disconnect;

die "ERROR in prepare!\n";

}

 

# Cursor를 open한다.

if ($sth->execute == 0) {

$sth->finish;

$dbh->disconnect;

die "ERROR in execute!\n";

}

 

# Cursor로부터 한줄씩 읽어온다.

while(($name,$type) = $sth->fetchrow){

print "$name $type\n";

}

 

$sth->finish;

$dbh->disconnect;

 

tolkien입니다.

[Top]
No.
제목
작성자
작성일
조회
174적수님 게시판에서 에러..
장순규
2000-01-02
17673
179┕>Re: 적수님 게시판에서 에러..
조용일
2000-01-03 21:19:04
17583
186┕>Re: 적수님 게시판에서 에러..
조용일
2000-01-06 13:47:12
16369
187 ┕>RE^2: 적수님 게시판에서 에러..
조용일
2000-01-06 14:06:40
17299
188  ┕>RE^3: 적수님 게시판에서 에러..
조용일
2000-01-06 14:44:47
17372
173갑자기 ORA-12545 가 나오는데요?
하경수
2000-01-02
17698
178┕>Re: 갑자기 ORA-12545 가 나오는데요?
조용일
2000-01-03 21:16:30
17498
172퍼스널 오라클8.0 패스워드와 아이디를 알고 싶습니다.
이관엽
1999-12-31
16761
177┕>Re: 퍼스널 오라클8.0 패스워드와 아이디를 알고 싶습니다.
조용일
2000-01-03 21:12:35
16381
309 ┕>Re: Re: 퍼스널 오라클8.0 패스워드와 아이디를 알고 싶습니다.
안 기승
2000-02-01 21:34:26
15281
171[급] 제발부탁
윤용환
1999-12-30
17089
176┕>Re: [급] 제발부탁
조용일
2000-01-03 21:11:08
17658
183 ┕>Re: Re: [급] 제발부탁
윤용환
2000-01-06 09:56:03
17864
185  ┕>RE^3: [급] 제발부탁
조용일
2000-01-06 13:37:14
16985
170오라클 7.3.4(solaris2.6) 구할수 있는 방법을...
신진성
1999-12-30
16409
166오라클 8.1.5i 설치시 문제.. --;;
우기
1999-12-29
16612
169┕>Re: 오라클 8.1.5i 설치시 문제.. --;;
조용일
1999-12-30 12:35:31
16604
165오라클 net8 클라이언트 사용에관하여
정지영
1999-12-29
16837
168┕>Re: 오라클 net8 클라이언트 사용에관하여
조용일
1999-12-30 12:24:23
16739
310 ┕>Re: Re: 오라클 net8 클라이언트 사용에관하여
안기승
2000-02-01 21:40:04
14083
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2020 DSN, All rights reserved.
작업시간: 0.058초, 이곳 서비스는
	PostgreSQL v13.1으로 자료를 관리합니다