zoukankan      html  css  js  c++  java
  • python对oracle数据库的操作

    1          Oracle数据库

    1.1       Oracle环境配置&客户端连接

    1.1.1          下载安装Oracle绿色版客户端instantclient:

    到oracle官网下载instantclient basic包,解压缩到E:ProgramFileinstantclient;

    1.1.2          设置环境变量:

    • NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中间有空格,这个如果不设,toad查询中文会是乱码)
    • TNS_ADMIN= E:ProgramFileinstantclient
    • Path=...;E:ProgramFileinstantclient

    1.1.3     配置tnsnames.tns文件:

    在E:ProgramFileinstantclient下建立文件tnsnames.ora,将下面内容粘贴进该文件:

    *** =

      (DESCRIPTION =

        (ADDRESS_LIST =

       (ADDRESS = (PROTOCOL = TCP)(HOST= ***)(PORT = 1521))

        )

        (CONNECT_DATA =

          (SERVER = DEDICATED)

         (SERVICE_NAME = ***)

        )

      )

    注:图中红色部分根据自己需要进行更改。

    1.1.4          配置PL/SQL Developer进行连接:

    在tools/preference里,oracle-connection选项配置oracle home和oci library:

    • oracle home:E:ProgramFileinstantclient
    • oci library:E:ProgramFileinstantclientoci.dll

     

    配置完成,可以重启 plsql developer,输入正确的用户名和密码就可以连接啦~~~

    1.2       python连接oracle数据库

    1.2.1          安装cx_Oracle包:

    http://cx-oracle.sourceforge.net/  需要注意下版本,根据操作系统和已安装的python版本进行选择

     

    自行选择版本,下载后直接执行即可

     

    1.2.2          安装后的验证:

    import cx_Oracle没有报错:

     

    备注:如果import cx_Oracle 时报错提示找不到OCI.DLL,解决方法:到装了Oracle的机器上找一个,然后copy到Libsite-packages目录下即可。

    1.3       Python连接oracle数据库的基本操作

    1.3.1          创建数据库连接connect和关闭数据库连接close

    创建数据库连接的三种方式:

    方法一:用户名、密码和监听分开写

    import cx_Oracle

    db=cx_Oracle.connect('username/password@host/orcl')

    db.close()

    方法二:用户名、密码和监听写在一起

    import cx_Oracle

    db=cx_Oracle.connect('username','password','host/orcl')

    db.close()

    方法三:配置监听并连接

    import cx_Oracle

    tns=cx_Oracle.makedsn('host',1521,'orcl')

    db=cx_Oracle.connect('username','password',tns)

    db.close()

    1.3.2          建立cursor并执行SQL语句:查询、更新、插入、删除

    1.3.2.1         创建数据库连接,创建游标cursor,然后执行sql语句,执行完成后,关闭游标,关闭数据库连接

    创建连接后,建立cursor,并执行SQL语句

     

    1.3.2.2         插入、更新、删除操作后需要提交commit

  • 相关阅读:
    WebSocket来实现即时通讯
    微信小程序1
    使用phpqrcode来生成二维码/thinkphp
    PHP函数积累
    Docker 常用命令汇总(beta)
    Nginx+Keepalived高可用架构简述(beta)
    Docker镜像制作(以Nginx+Keepalived为例)(beta)
    开源协议浅谈(beta)
    【Elasticsearch系列】ES安装(mac)
    linux 下安装JDK
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/7908452.html
Copyright © 2011-2022 走看看