zoukankan      html  css  js  c++  java
  • cx_Oracle模块

    1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包

    [plain] view plain copy
    1. http://cx-oracle.sourceforge.net/  

    2. 另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得

    [plain] view plain copy
    1. http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html  

    找到符合自己平台的包,然后安装,这里我使用的是rpm包,所以使用以下命令安装

    [plain] view plain copy
    1. $ sudo rpm -ivh  oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm  

    装完毕后还需要设置一下环境变量,如下

    [plain] view plain copy
    1. $ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/11.2/client/lib  

    3. 创建一个简单的python文件,测试安装是否成功

    [python] view plain copy
    1. import cx_Oracle  
    2.   
    3. conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')    
    4. cursor = conn.cursor ()  
    5. cursor.execute ("select * from dual")  
    6. row = cursor.fetchone ()  
    7. print row[0]  
    8.   
    9. cursor.close ()  
    10. conn.close ()  

    4. 下面看一个数据库建表和插入操作

    [python] view plain copy
    1. import cx_Oracle  
    2.   
    3. conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')    
    4. cursor = conn.cursor ()  
    5.   
    6. cursor.execute ("CREATE TABLE TEST(ID INT, COL1 VARCHAR(32), COL2 VARCHAR(32), COL3 VARCHAR(32))")  
    7.   
    8. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(1, 'a', 'b', 'c')")  
    9. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(2, 'aa', 'bb', 'cc')")  
    10. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(3, 'aaa', 'bbb', 'ccc')")  
    11. conn.commit()  
    12.   
    13. cursor.close ()  
    14. conn.close ()  

    5. 下面再来看看查询,查询通常有两种方式:一种是使用cursor.fetchall()获取所有查询结果,然后再一行一行的迭代;另一种每次通过cursor.fetchone()获取一条记录,直到获取的结果为空为止。看一下下面的例子:

    [python] view plain copy
      1. import cx_Oracle  
      2.   
      3. conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')    
      4. cursor = conn.cursor ()  
      5.   
      6. cursor.execute ("SELECT * FROM TEST")  
      7. rows = cursor.fetchall()  
      8. for row in rows:  
      9.     print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])  
      10.   
      11. print "Number of rows returned: %d" % cursor.rowcount  
      12.   
      13. cursor.execute ("SELECT * FROM TEST")  
      14. while (1):  
      15.     row = cursor.fetchone()  
      16.     if row == None:  
      17.         break  
      18.     print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])  
      19.       
      20. print "Number of rows returned: %d" % cursor.rowcount  
      21.   
      22. cursor.close ()  
      23. conn.close ()  
  • 相关阅读:
    Dyanmcis 365调用Action报Entity Reference cannot have Id and Key Attributes empty.错误
    Dynamics 365中使用工作流发邮件让其可以发往文本字段指定的邮箱
    Dynamics 365 Web API分页查询数据
    微软Dynamics CRM 2013介绍系列之三十:筛选查找控件,so easy。
    Power Automate实用常见问题解答(FAQ)
    Dynamics 365使用JavaScript调用Web API批量设置字段的审核属性为禁用。
    Dynamics 365 V9版本新的客户端API Xrm.WebApi.online.execute 使用实例
    Dynamics 365附件的常见控制
    Dynamics 365的存储容量介绍
    请不要在繁忙时候更改用户的业务部门
  • 原文地址:https://www.cnblogs.com/quyong/p/8534152.html
Copyright © 2011-2022 走看看