现在的位置: 首页 > 数据库 > 正文

Python连接oracle的几种方式

2019年08月04日 数据库 ⁄ 共 1182字 ⁄ 字号 评论关闭

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)

抱歉!评论已关闭.