Python Test API - 用python连接Oracle数据库并操作

目的: 通过python连接远程的一台oracle数据库服务器,并用python代码实现增删改查的操作。本研究是为测试API准备数据库环境的第一步。

环境配置(如果用64bit的,就都需要64bit: 

1. 在本地计算机上安装好oralce client (64bit)

2. 在本地安装好python (64bit)

3. 在本地安装好python的插件cx_Oracle (64bit)

我需要连接的数据库的tns如下(位于oracle client下的tnsnames.ora文件):

ORCL140 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.130.140)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
假定使用的账号密码为为 ames/123


 连接数据库,增删改查的示例如下(操作完毕后记得关闭连接和cursor):   

import cx_Oracle
import time, datetime

# -----连接数据库------------------------------------------
# 连接方法 ames是登录数据库的用户名; 123是密码; 192.168.130.140:1521是oracle服务器所在的地址和端口号
# orcl 是配置在oracle client下tnsnames.ora的SERVICE_NAME
conn = cx_Oracle.connect("ames", "123", "192.168.130.140:1521/orcl")
cur = conn.cursor()

# -----查询数据库------------------------------------------
# sql = "SELECT * FROM Ams_User_Scope_Certificate order by ID"
# cur.execute(sql)
#
# # 读取每行的数据 方法一:用for...in方法
# rows = cur.fetchall()
# for row in rows:
#     print(row)

# 读取每行的数据 方法二:用while方法
# while(True):
#     row = cur.fetchone()
#     if row == None:
#         break
#     print(row)

# 返回行数
# rows = cur.fetchall()
# print(cur.rowcount)

# -----插入数据------------------------------------------
# dt = datetime.date.today()
# dt_1_year_later = dt + datetime.timedelta(days = 365)
#
# param ={'ID':100000,
#         'FORUSER':100000,
#         'AUTHORITY':'APITest_authority',
#         'LICENCECATEGORY': 'APITest_Licencecategory',
#         'HKAAUTHEXPIRYDATE':dt_1_year_later
#         }
#
# sql = "insert into Ams_User_Scope_Certificate values (:ID, :FORUSER, :AUTHORITY, :LICENCECATEGORY, :HKAAUTHEXPIRYDATE)"
# cur.execute(sql, param)
# conn.commit()

# -----删除表中指定行的数据------------------------------------------
# sql = "delete from Ams_User_Scope_Certificate where AUTHORITY like 'APITest%' "
# cur.execute(sql)
# conn.commit()

#------更新指定行的数据--------------------------------------------
# sql = "update Ams_User_Scope_Certificate set HKAAUTHEXPIRYDATE = to_date('2018/8/15', 'YYYY/MM/DD') where AUTHORITY = 'APITest_authority'"
# cur.execute(sql)
# conn.commit()

# -----关闭连接------------------------------------------------
# 操作完毕,关闭
cur.close()
conn.close()

猜你喜欢

转载自blog.csdn.net/Pansc2004/article/details/80678832
今日推荐