http://www.tracylling.com/2011/09/28/python%E8%BF%9E%E6%8E%A5oracle%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F/
1. 基本连接–使用Oracle tns alias
connection=cx_Oracle.connect("tp/tp@ocn_test")
#查看tns alias命令
cmd>tnsping ocn_test
TNS Ping Utility forLinux: Version 9.2.0.8.0-Production on 27-SEP-201110:47:48
Copyright (c) 1997,2006, Oracle Corporation. Allrights reserved.
Used parameter files:
/opt/……/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.20.36.19)(PORT=1520))) (CONNECT_DATA =(SID=ocntest)))
OK (10msec)
2.
用户输入密码连接
pwd=getpass.getpass()
connection=cx_Oracle.connect("tp",pwd,"ocn_test")
3. 用户直接在Python命令中输入连接账号信息,格式如python script.py tp/tp@ocn_test
connection=cx_Oracle.connect(sys.argv[1])4.使用Easy Connect语法,通过Drive连接数据库
connection=cx_Oracle.connect('tp','tp','10.20.36.19:1521/ocntest')
#or
connection=cx_Oracle.connect('tp/tp@10.20.36.19:1521/ocntest')
5. 先使用DSN构成TNSNAME
tns_name=cx_Oracle.makedsn('10.20.36.19','1521',' ocntest ')
connection=cx_Oracle.connect('tp','tp',tns_name)
6. 登陆as SYSDBA
connection=cx_Oracle.connect('tp/tp@ocn_test', mode=cx_Oracle.SYSDBA)
#or as SYSOPER
connection=cx_Oracle.connect('tp/tp@ocn_test', mode=cx_Oracle.SYSOPER)