`
rikugun
  • 浏览: 345718 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

使用cx_Oracle 把文件导入数据库 (CLOB)

阅读更多
教练有200多个文件需要以clob的形式写到数据库中,一个个导不现实,我来个脚本帮忙

#!/usr/bin/env python
#encoding:utf-8
#@author rikugun

# 帮助使用 python clob_demo.py "/data/*.log"的方式来执行



import cx_Oracle
import sys
import glob


DSN='''rikugun/rikugun@orcl'''
sql='''insert into clob_table (filename,data) values (:1,:2)'''


def file2clob(filename,conn):
    """将文件导入数据库"""
    cur=conn.cursor()
    clob_data=cur.var(cx_Oracle.CLOB)
    f= open(filename,'r').read()
    clob_data.setvalue(0,f)
    cur.execute(sql,(filename,clob_data))


def main():
    """docstring for main"""
    conn=cx_Oracle.connect(DSN) 
    dirpath=sys.argv[1]
    #dirpath 比如 /data/*.log
    for item in glob.glob(dirpath):
        print u'正在导入文件%s' % item
        file2clob(item,conn)
    conn.commit()
 
 
   
if __name__ == '__main__':
    main()







分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics