数据库连接

时间:2021-10-25 04:51:42

一、oracle

1、用python连接Oracle是总是乱码,最后发现时oracle客户端的字符编码设置不对。

  编写的python脚本中需要加入如下几句:

  import os
  os.environ[‘NLS_LANG‘] = ‘SIMPLIFIED CHINESE_CHINA.UTF8‘

  参考来源:https://www.cnblogs.com/chenjianhong/p/4144399.html

2、特殊符号

  如果字符中含有&等特殊符号,需要特殊处理;

  ‘kkkkk‘ || ‘&‘ || ‘kkkkkk‘

3、连接

import cx_Oracle
def element(cols,row)
  elem=dict()
  for i in range(len(cols)):
    elem[cols[i]]=row[i] try:
  db= cx_Oracle.connect(username/[email protected]:port/sevicename)
  cr=db.cursor()
  cr.execute(sql)  #执行sql
  rows=cursor.fetchall()  #以元组方式返回所有记录,参考:https://www.cnblogs.com/z-x-y/p/9055509.html
  cols=map(lambda x:x[0],cr.description)  #返回该表的每个字段名
  result=map(lambda row:elem(cols,row),rows)  #返回类似 [{字段名1:字段值1,字段名2:字段值2},{},{}] 的结果
except Exception,e:
  print ‘connect error‘,e
finally:
  #db.commit()
  db.close()
二、