关闭

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

标签: subprocess数据库oraclepython
518人阅读 评论(0) 收藏 举报
分类:

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
运行界面如下:

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28827次
    • 积分:613
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:0篇
    • 译文:1篇
    • 评论:8条
    文章分类
    最新评论