python cx_oracle插入clob类型数据

需求: 由于oracle news_info新闻表 正文content字段值太长,超出varchar字段长度,因此修改数据类型为CLOB类型, 通过cx_Oracle插入数据到oracle中

操作实例如下:

def insert_data2oracle():
	try:
		oracle_address_info='127.0.0.1|1521|scott|tiger|ORCL'
	    ip, port, user, pwd, sid = oracle_address_info.split('|')
	    url = user + '/' + pwd + '@' + ip + ':' + port + '/' + sid
	    print('oracle uri:' + url)
	    conn = cx_Oracle.connect(url)
	    cursor = conn.cursor()
	
	    sql = 'insert into news_info(ID,CONTENT,CREATE_BY,CREATE_TIME, DATA_VALIDITY) VALUES(:ID,:CONTENT,:CREATE_BY,:CREATE_TIME, :DATA_VALIDITY)'
	    
	    # 申明一个CLOB类型对象
	    clob_data = cursor.var(cx_Oracle.DB_TYPE_CLOB)
	
	    CONTENT = '这是一个长文本'
		
		# 将content值存入clob对象中
	    clob_data.setvalue(0, CONTENT)
	    # print(clob_data)
	
	    data = {'ID': '123', 'CONTENT': clob_data, 'CREATE_BY': 'admin',
	            'CREATE_TIME': datetime.now(),
	            'DATA_VALIDITY': 1}
	
	    print(data)
	    cursor.prepare(sql)
	
	    cursor.execute(None, data)
	    conn.commit()
    expect Exception as e:
    	print('exception message is %s' % e)
    finally:
	    cursor.close()
	    conn.close()

参考:
Python通过cx_Oracle插入clob类型数据
cx_Oracle官网 Streaming LOBs (Write)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值