python操作oracle数据库的另类方法

python 通过oracle instant clients访问数据库似乎没有好的方法。本文中直接通过操控进程sqlplus.exe进行数据库的写入。

#-------数据库----------
db_user="User2"    #用户名称
db_password="D9"  #用户密码
db_ip="211.74.34.23"
db_port="1521"
db_tnsname="erporcl"   #TNSNAME
table_name="TTTabele"    #表名称
#sqlplus path
sqlplus_path=r"D:\Oracle\Instant Client\bin"
def runQuery(s):
    from subprocess import Popen, PIPE, STDOUT
    cmd="/sqlplus %s/%s@%s:%s/%s" % (db_user,db_password,db_ip,db_port,db_tnsname)
    cmd = sqlplus_path+cmd
    p = Popen(cmd, stdout=PIPE, stdin=PIPE, stderr=STDOUT)
    serialno=readserialno()
    cmdsql="insert into %s(SerialNo,Data,Status) values(%d,'%s','N');\n" % (table_name,serialno,s)
    print cmdsql
    out = p.communicate(input=cmdsql)[0]
    print out
    return
运行界面如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值