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
운영게시판
최근게시물
DBMS Tutorials 185 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 185
GDBC 설치기
작성자
정재익(advance)
작성일
2001-12-16 03:49
조회수
4,486

GDBC 0.9.3 의 설치 및 gdbc 사용법

 

GDBC 라고 하는 것은 Generic Database Connector 라고 하여 ODBC 와 유사하게 Database 로 접속시에 일관된 인터페이스를 제공함을 목적으로 개발되고 있는 라이브러리이다. 개발중인 라이브러리는 GNU LGPL 로 배포되고 있으며, 같이 배포 되고 있는 gdbc 라는 command line 명령어는 GPL 로 배포되고 있다.

 

GDBC 의 설치

 

다운로드 : http://ftp.ndn.net/gdbc/ 로 부터 소스 또는 rpm 패키지를 다운로드 받는다.

 

개인적인 경우는 RPM 으로 설치하였으며, 만약 Redhat 계열이 아닌 다른 배포판을 사용하는 경우라면 소스를 컴파일하여 사용하는 수 밖에 없다.

SRPM 을 이용하여 rebuild 시키면 gdbc-0.9.3-1.i386.rpm 와 gdbc-devel-0.9.3-1.i386.rpm 이라는 두개의 RPM 패키지가 생성되며, 아무런 에러 없이 잘 컴파일 되었다.

두 패키지의 내용은 다음과 같다.

 

[root@database gdbc]# rpm -ql gdbc

/usr/bin/gdbc

/usr/doc/gdbc-0.9.3

/usr/doc/gdbc-0.9.3/AUTHORS

/usr/doc/gdbc-0.9.3/COPYING

/usr/doc/gdbc-0.9.3/COPYING.LIB

/usr/doc/gdbc-0.9.3/ChangeLog

/usr/doc/gdbc-0.9.3/INSTALL

/usr/doc/gdbc-0.9.3/NEWS

/usr/doc/gdbc-0.9.3/README

/usr/lib/libgdbc.so.0

/usr/lib/libgdbc.so.0.1.0

 

[root@database gdbc]# rpm -ql gdbc-devel

/usr/include/gdbc

/usr/include/gdbc/driver.h

/usr/include/gdbc/gdbc.h

/usr/lib/libgdbc.a

/usr/lib/libgdbc.la

/usr/lib/libgdbc.so

 

gdbc 의 사용법

 

다음으로 유일한 실행파일인 gdbc 의 사용법에 대해서 알아 보도록 하겠다.

 

gdbc --help 하면 다음과 같은 간단한 도움말이 나온다.

 

[root@database gdbc]# gdbc --help

Usage: gdbc [OPTIONS] [DATABASE]

Runs the Generic Database Connector.

 

-h, --help display this help and exit

-v, --version display version information and exit

 

Report bugs to gdbc-devel@ndn.net

 

정말 엽기다. 아무런 도움도 되지 않는 도움말이다 -.-; 같이 제공되는 문서도 하나도 없는 관계로 전혀 사용법을 알수가 없다. 그래서 할수 없이 소스를 뒤져 보았다. (참고로 개인적으로 C 는 손놓은 지 오래이기 때문에 극도로 싫어 한다 -.-;)

 

소스를 보아 하니 사용할수 있는 명령어는 오로지 4개 밖에 없다.

 

\q gdbc 를 종료한다.

\w gdbc 프로그램은 아무런 워런티도 제공하지 않는다는 메시지를 뿌려준다.

\ld 설치된 드라이브 종류를 보여 준다.

\c GDBC_URL 명시된 GDBC_URL 로 데이터베이스 접속을 시도한다.

 

여기서 또 하나 알아야 할 것은 GDBC_URL 은 어떤식으로 명시하는 가 하는 것이다. 이것의 답은 url.c 에 명시되어 있었다.

 

driver://[[user[:pass]@]host[:port]]/[dbname]

 

참고로 소스 코드는 정말 간략하다. 즉 거의 주석이 없다는 말이다. 이것 해석하기가 참으로 인내심 테스트하는 느낌이 들었다.

 

이렇게 하다 보니 Driver 가 전혀 설치되지 않았다는 것을 알수 있었다. 그래서 다시 원래 사이트로 가서 PostgreSQL 용 driver 프로그램을 다운로드 받았다.

 

http://ftp.ndn.net/gdbc/gdbc-psql-0.9.2.tar.gz

 

소스를 tar 를 이용하여 푼 후에, 다음과 같은 과정을 거쳐 설치했다.

 

./configure --prefix=/usr

make check

make

make install

 

* 참고로 만약 make check 에서 에러가 난다면 src/psql.c 파일의 header 부분에 libpq-fe.h 파일의 위치를 정확히 명시해 주면 제대로 컴파일 될 것이다.

 

설치 과정은 다음과 같으며, 설치되는 파일들을 확인해 볼수 있다.

 

/bin/sh ../libtool --mode=install /usr/bin/install -c psql.la /usr//lib/gdbc/psql.la

/usr/bin/install -c .libs/psql.so /usr//lib/gdbc/psql.so

/usr/bin/install -c .libs/psql.lai /usr//lib/gdbc/psql.la

/usr/bin/install -c .libs/psql.a /usr//lib/gdbc/psql.a

ranlib /usr//lib/gdbc/psql.a

chmod 644 /usr//lib/gdbc/psql.a

 

개인적으로는 /etc/ld.so.conf 파일에 /usr/lib/gdbc 디렉토리를 추가시켜 주고 ldconfig 를 실행시켜 줬다. 나중에 뭔가 문제를 일으킬 소지가 있다고 판단되어 그렇게 했다.

 

참고로 이 경우 DRIVER 이름은 "PostgreSQL" 이다.

 

이제 다시 gdbc 로 가보자.

 

[root@database gdbc-psql-0.9.2]# gdbc

GDBC 0.9.3 (libgdbc 0.9.3)

Copyright (C) 2000 Jakob 'sparky' Kaivo <jkaivo@ndn.net>

GDBC comes with ABSOLUTELY NO WARRANTY; for details type `\w'.

 

참으로 묵뚝뚝한 메시지다. 경상도 사나이 같은 느낌이 든다.

 

이제 \ld 명령어를 줘 보자.

 

gdbc> \ld

PostgreSQL

 

앗~~ 처음에는 안 보이던 PostgreSQL 이라는 문자가 선명하게 나왔다. 그래서 다시 GDBC_URL 을 이용하여 접속을 시도해 보았다.

 

gdbc> \c PostgreSQL://db_user@database.sarang.net:5432/wdb

Connected successfully!

 

호곡~~ 성공이다.

 

이 다음 부터 할수 있는게 뭔지는 나도 모르겠다. -.-;

 

실제로 소스를 보면 \ 로 시작하는 명령어가 아니라면 gdbc_exec() 함수를 통해서 바로 명령어를 실행할수 있는 것으로 되어 있다. 그래서 직접 SQL 명령어를 주어 봤지만 소식이 없어서 일단 소스 분석은 보류하기로 했다.

 

일단 오늘은 설치 부분까지만 공부하고 말았다.

[Top]
No.
제목
작성자
작성일
조회
205Advanced JOIN Technique
정재익
2001-12-25
4617
203IBM-Tuxedo-Jolt연결
정재익
2001-12-22
8023
198Getting Started With JDBC
정재익
2001-12-19
4712
185GDBC 설치기
정재익
2001-12-16
4486
176Backup &amp; Recovery
정재익
2001-12-14
7647
174DW 데이터 변환
정재익
2001-12-14
6043
173DataWarehouse 란 무엇인가? [1]
정재익
2001-12-14
5369
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다