python_oracle
Oracle module 소개
Oracle에 접속하기 위해서는 Oracle접속 모듈이 필요한데 이는 파이썬 소스코드를 통해 쉽게 Oracle 서버에 접근할 수 있도록 해주며 SQL명령어를 실행함으로써 얻은 결과를 파이썬코드에서 유용한 형태로 사용할 수 있도록 해준다. 파이썬을 통해 Oracle에 접근하기 위해서 본 테크노트에서는 cx_Oracle 모듈을 사용했다. cx_Oracle모듈은 다음 싸이트에서 최신버전을 다운받을 수 있다. http://sourceforge.net/projects/cx-oracle/ 설치되어 있는 파이썬 버전과 사용하고있는 오라클 버전에 맞는 모듈을 다운받아 설치하면 된다. 그밖에 다른 모듈을 사용할 경우 다음 페이지를 참조하여 적절한 모듈은 사용하면 된다. http://www.python.org/topics/database/modules.html
설치방법
리눅스
$ tar -xzvf cx_Oracle-4.3.1.tar.gz
$ cd cx_Oracle-4.3.1
$ python setup.py build
$ python setup.py install
윈도우
다운받은 실행파일을 실행하면 python설치 디렉토리를 찾아 자동으로 설치된다. cx_Oracle-4.3.1-win32-10g-py25.exe
Oracle 접속방법
- 1.먼저 설치된 cx_Oracle모듈을 import한다.
>>> import cx_Oracle
- 2.Database에 접속한다.
- connect( [user, password, dsn, mode, handle, pool, threaded, twophase])
- 일반적인 접속을 위해서는 id와 passwd 그리고 dsn(data source name:TNSNAMES.ora파일 참고)이 필요하다.
- 추가적인 파라미터는 필요에 따라 접속시 지정할 수 있으며 일반적인 접속을 위해서 아래와 같이 접속하였다.
>>>orcl = cx_Oracle.connect('id/passwd@dsn')
예제코드
-
>>> import cx_Oracle >>> orcl = cx_Oracle.connect('id/passwd@dsn') >>> curs = orcl.cursor() >>> curs.execute('select * from blogmore where btype=\'BEST\'') >>> row = curs.fetchone() #상위 1개의 row만 가져온다. >>>print row #해당 row가 turple형태로 출력된다. (155, 'BEST', 'antiright', '\xb4\xeb\xb8\xb6\xbf\xd5', '\xb4\xeb\xb8\xb6\xbf\xd5 \xb9\xe6\xb6\xfb\xb1\xe2', None, None, 'http://cfs7.blog.daum.net/upload_control/download.blog?fhandle=MDNPcmlAZnM3LmJsb2cuZGF1bS5uZXQ6L1BST0ZJTEUvMC8wLmpwZy50aHVtYg==&filename=0.jpg-', datetime.datetime(2006, 12, 4, 19, 45, 33)) >>> print row[0], row[1] 155 BEST >>> rows = curs.fetchall() #모든 row를 가져온다. >>> print rows #검색된 모든row가 list형태로 출력된다. >>> print rows[0] 첫번째 row 출력 >>> print rows[0][1] 첫번째 row의 첫번째 필드 출력
참고문헌
http://www.oracle.com/technology/pub/articles/devlin-python-oracle.html
http://www.python.net/crew/atuining/cx_Oracle/html/front.html
History
Last edited on 06/15/2007 14:31 by joker
Comments (0)