Header

  1. View current page

    joyungki님의 노트

Profile_img_60x60_01
0

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')

예제코드

  1. >>> 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)

You must log in to leave a comment. Please sign in.